如果列中的第一个值大于las,则Numpy remove数组中的列

2024-04-19 00:32:53 发布

您现在位置:Python中文网/ 问答频道 /正文

如果NumPy数组中的第一个值大于最后一个值,那么从该数组中删除列的有效方法是什么。假设我有b

>>> import numpy as np 
>>> b = np.arange(9).reshape(3,3)
>>> b[0,0] = 9

>>> b
array([[9, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

由于b[0,0] > b[-1,0],您希望删除第一列并有效地保留:

array([[1, 2],
   [4, 5],
   [7, 8]])

什么是有效的方法?我见过它是用行来完成的,比如:

b[np.logical_not(np.logical_and(b[:,0] > 20, b[:,0] < 25))]

但不包括列。另外,如果可以避免转置,那肯定是更好的,因为我想在一个大的数据集上使用它。你知道吗


Tags: and数据方法importnumpyasnpnot