繁体   English   中英

如何在 python 中按条件使用 select 特定索引

[英]How to select specific indices by condition using in python

我有以下包含 3 个子数组的数组:

array([[1,3],[2,3],[4,5]],
      [[4],[7],[9]],
      [[0.3],[0.02],[-0.001]])

我想创建一个新数组,其中仅包含符合以下条件的索引(在每个子数组中): abs(array[2]) < 0.1 - 这意味着我最终希望收到 output:

array([[2,3],[4,5]],
      [[7],[9]],
      [[0.02],[-0.001]])

有什么建议可以有效地做到这一点吗?

我会这样做:

import numpy as np

a = np.array([[[1,3],[2,3],[4,5]],
      [[4],[7],[9]],
      [[0.3],[0.02],[-0.001]]])

b = [abs(item[0])<0.1 for item in a[2]]

c = [row[b] for row in a]

b 是一个布尔数组,定义指向 select 的索引

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM