您可以使用
bool可以产生的索引数组
np.in1d。
您可以使用所需的
np.ndarray任意值对a进行索引
axis,例如使用
bools数组来指示是否应包含元素。由于您要沿索引
axis=0,这意味着您要从最远的索引中进行选择,因此需要具有1D,
np.array其长度为行数。它的每个元素都将指示是否应包含该行。
一种快速的方法是
np.in1d在的第二列上使用
a。您可以通过获得该列的所有元素
a[:,1]。现在,您有了一个1D
np.array,应该根据您的过滤器检查其元素。那
np.in1d是为了什么。
因此完整的代码如下所示:
import numpy as npa = np.asarray([[2,'a'],[3,'b'],[4,'c'],[5,'d']])filter = np.asarray(['a','c'])a[np.in1d(a[:, 1], filter)]
或更长的形式:
import numpy as npa = np.asarray([[2,'a'],[3,'b'],[4,'c'],[5,'d']])filter = np.asarray(['a','c'])mask = np.in1d(a[:, 1], filter)a[mask]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)