【发布时间】:2011-07-15 17:07:40
【问题描述】:
我有一个维度为 (48, 366, 3) 的 numpy 数组,我想从数组中删除最后一列以使其成为 (48, 365, 3)。最好的方法是什么? (所有条目都是整数。我使用的是 Python v2.6)
【问题讨论】:
我有一个维度为 (48, 366, 3) 的 numpy 数组,我想从数组中删除最后一列以使其成为 (48, 365, 3)。最好的方法是什么? (所有条目都是整数。我使用的是 Python v2.6)
【问题讨论】:
你可以试试numpy.delete:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html
或者只是获取您想要的数组切片并将其写入新数组。
例如:
a = np.random.randint(0,2, size=(48,366,3))
b = np.delete(a, np.s_[-1:], axis=1)
print b.shape # <--- (48,365,3)
或等效:
b = np.delete(a, -1, axis=1)
或:
b = a[:,:-1,:]
【讨论】:
顺势而为:
In []: A= rand(48, 366, 3)
In []: A.shape
Out[]: (48, 366, 3)
In []: A= A[:, :-1, :]
In []: A.shape
Out[]: (48, 365, 3)
【讨论】: