gpt4 book ai didi

arrays - 将数组中的N个元素从后向前移动

转载 作者:行者123 更新时间:2023-12-02 09:44:20 25 4
gpt4 key购买 nike

我有一个包含 2 列的文本文件,我需要选择其中的一列作为数组 其中包含 200000 并从该数组中剪切 N 个元素并将它们从后到前移动。

我使用了以下代码:

import numpy as np
import glob

files = glob.glob("input/*.txt")

for file in files:
data_file = np.loadtxt(file)
2nd_columns = data_file [:,1]
2nd_columns_array = np.array(2nd_columns)

cut = 62859 # number of elements to cut
remain_points = 2nd_columns_array[:cut]
cut_points = 2nd_columns_array[cut:]
new_array = cut_points + remain_points

它不起作用并给了我以下错误:

ValueError: operands could not be broadcast together with shapes (137141,) (62859,) 

请问有什么帮助吗?

最佳答案

它不起作用,因为您试图添加存储在两个数组中的值,并且它们具有不同的形状。

其中一种方法是使用numpy.hstack :

new_array = np.hstack((2nd_columns_array[cut:], 2nd_columns_array[:cut]))

旁注:

  1. 使用您的代码,您将仅对最后一个文件的第二列进行重新排序,因为重新排序是在 for 循环之外进行的
  2. 您不需要将 cut_pointsremain_points 存储在单独的变量中。可以直接对2nd_columns_array
  3. 进行操作
  4. 不应以数字开头命名变量

关于arrays - 将数组中的N个元素从后向前移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com