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

使用Numpy ndarray进行条件索引

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

使用Numpy ndarray进行条件索引

对于基于numpy的解决方案,您可以使用

numpy.where
,然后从中获取行索引,然后将其用于为矩阵建立索引。范例-

matrix[np.where((1 <= matrix[:,0]) & (matrix[:,0] <= 6)       & (2 <= matrix[:,1]) & (matrix[:,1] <= 7))]

演示-

In [169]: matrixOut[169]:array([[  1.,   2.,   3.,   4.,   5.],       [  6.,   7.,   8.,   9.,  10.],       [ 11.,  12.,  13.,  14.,  15.],       [ 16.,  17.,  18.,  19.,  20.]])In [170]: matrix[np.where((1 <= matrix[:,0]) & (matrix[:,0] <= 6)   .....:        & (2 <= matrix[:,1]) & (matrix[:,1] <= 7))]Out[170]:array([[  1.,   2.,   3.,   4.,   5.],       [  6.,   7.,   8.,   9.,  10.]])

如注释中所示,另一种方法是使用布尔掩码,例如-

mask = ((1 <= matrix[:,0]) & (matrix[:,0] <= 6)& (2 <= matrix[:,1]) & (matrix[:,1] <= 7))matrix[mask,:]

演示-

In [41]: matrixOut[41]:array([[  1.,   2.,   3.,   4.,   5.],       [  6.,   7.,   8.,   9.,  10.],       [ 11.,  12.,  13.,  14.,  15.],       [ 16.,  17.,  18.,  19.,  20.]])In [42]: mask = ((1 <= matrix[:,0]) & (matrix[:,0] <= 6)   ....: & (2 <= matrix[:,1]) & (matrix[:,1] <= 7))In [43]:In [43]: matrix[mask,:]Out[43]:array([[  1.,   2.,   3.,   4.,   5.],       [  6.,   7.,   8.,   9.,  10.]])


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

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

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