【发布时间】:2020-10-26 10:00:14
【问题描述】:
我想修改存储在列表中的 numpy 数组行。我的 numpy 数组的长度不一样。我有几个巨大的 numpy 数组存储为列表。这是我的数据(为简单起见,我只复制了一小部分数组):
elements= [array([[971, 466, 697, 1, 15, 18, 28],
[5445, 4, 301, 2, 12, 47, 5]]),
array([[5883, 316, 377, 2, 9, 87, 1]])]
然后,我想用最后一列替换每一行的第四列,然后删除最后一列。我想得到以下结果:
[array([[971, 466, 697, 1, 28, 18],
[5445, 4, 301, 2, 5, 47]]),
array([[5883, 316, 377, 2, 1, 87]])]
我尝试了以下代码,但没有成功:
length=[len(i) for i in elements] # To find the length of each array
h=sum(length) # to find the total number of rows
for i in range (h):
elements[:,[4,-1]] = elements[:,[-1,4]]
elements=np.delete(elements,[-1],1)
我面临以下错误:
TypeError: list indices must be integers or slices, not tuple
提前感谢您的帮助。
【问题讨论】: