栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python numpy按条件过滤二维数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python numpy按条件过滤二维数组

您可以使用

bool
可以产生的索引数组
np.in1d

您可以使用所需的

np.ndarray
任意值对a进行索引
axis
,例如使用
bool
s数组来指示是否应包含元素。由于您要沿索引
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]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号