我有一个numpy数组:
arr = array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
还有一组索引,ind = array([0, 1, 1])
我想要做的就是对于arr
中的第i
行,在arr[i]
中仅使用numpy.delete删除第ind[i]
行。
因此,更具Python风格的方法如下:
x, y, z = arr.shape
new_arr = np.empty((x, y - 1, z))
for i, j in enumerate(ind):
new_arr[i] = np.delete(arr[i], j, 0)
arr = new_arr.astype(int)
因此,这里的输出将是:
array([[[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[15, 16, 17]],
[[18, 19, 20],
[24, 25, 26]]])
a[i]
的行,而不是列。你想要删除哪一个,行还是列? - Quang Hoang