加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Numpy:数组的索引

发布时间:2020-12-20 11:30:32 所属栏目:Python 来源:网络整理
导读:给出以下示例 d = array([[1,2,3],[1,3,[4,4,4],[5,5,5] ]) 要在第一列中获取包含1的子数组: d[ d[:,0] == 1 ]array([[1,3]]) 如何得到(没有循环)包含1和5的子数组?不应该是这样的 d[ d[:,0] == [1,5] ] # --- array([1,3]) 这不起作用? 解决方法 方法#1
给出以下示例

d = array([[1,2,3],[1,3,[4,4,4],[5,5,5]
          ])

要在第一列中获取包含1的子数组:

d[ d[:,0] == 1 ]

array([[1,3]])

如何得到(没有循环)包含1和5的子数组?不应该是这样的

d[ d[:,0] == [1,5] ]  #   ---> array([1,3])

这不起作用?

解决方法

方法#1:使用按位或|结合条件:

>>> d
array([[1,5]])
>>> (d[:,0] == 1) | (d[:,0] == 5)
array([ True,True,False,True],dtype=bool)
>>> d[(d[:,0] == 5)]
array([[1,5]])

方法#2:使用np.in1d,如果有很多值,这可能更容易:

>>> np.in1d(d[:,0],5])
array([ True,dtype=bool)
>>> d[np.in1d(d[:,5])]
array([[1,5]])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读