我正在研究一个python项目,但卡在一个扰乱我几个小时的地方。我真的需要你的帮助!!!
以下是问题:
我有一个非常大的numpy数组X(1300000×110),我想同时从数组中删除一批行。用于删除的行的索引存储在python列表中。 假设X是数组,lis是列表。
是否有任何numpy函数可以执行此操作或其他一些智能技巧?
答案 0 :(得分:1)
有一个NumPy函数,np.delete
:
np.delete(arr, indices_to_be_deleted, axis=0)
例如,
In [91]: arr = np.arange(20).reshape(10,2, order='F'); arr
Out[91]:
array([[ 0, 10],
[ 1, 11],
[ 2, 12],
[ 3, 13],
[ 4, 14],
[ 5, 15],
[ 6, 16],
[ 7, 17],
[ 8, 18],
[ 9, 19]])
In [92]: np.delete(arr, [0,3,4,7], axis=0)
Out[92]:
array([[ 1, 11],
[ 2, 12],
[ 5, 15],
[ 6, 16],
[ 8, 18],
[ 9, 19]])