Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何同时删除numpy数组的一批行?_Python_Arrays_Numpy - Fatal编程技术网

Python 如何同时删除numpy数组的一批行?

Python 如何同时删除numpy数组的一批行?,python,arrays,numpy,Python,Arrays,Numpy,我正在做一个python项目,但却被困在一个让我困扰了几个小时的地方。我真的需要你的帮助 问题是: 我得到了一个numpy数组X,它的大小是1300000×110,我想同时从数组中删除一批行。要删除的行的索引存储在python列表中。 假设X是数组,lis是列表 是否有任何numpy函数可以执行此操作或其他智能技巧?有一个numpy函数用于此操作: 比如说, In [91]: arr = np.arange(20).reshape(10,2, order='F'); arr Out[91]:

我正在做一个python项目,但却被困在一个让我困扰了几个小时的地方。我真的需要你的帮助

问题是:

我得到了一个numpy数组X,它的大小是1300000×110,我想同时从数组中删除一批行。要删除的行的索引存储在python列表中。 假设X是数组,lis是列表


是否有任何numpy函数可以执行此操作或其他智能技巧?

有一个numpy函数用于此操作:

比如说,

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]])

顺便说一句,由于数组很大,所以用于删除行的方法可以很快吗?在您的例子中,np.delete创建一个掩码=np.onesnrows,bool;将删除值设置为False,mask[idx]=False,并返回_数组[mask,;]。换句话说,它使用一个布尔掩码来选择要保留的行。我有很多行要删除,比如说我需要删除第6行、第9行、第100行。。。。。。但是,一旦我使用X=np.deleteX,6,0删除了第6行,用于删除第9行的索引现在变为第8行,这既不方便,也计算速度慢。@fxy Err,您指定了一个索引列表。。。
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]])