python - 如何选择数组的行,所有单元格都通过定义的逻辑测试?
问题描述
我想选择数组的行,所有单元格都通过定义的逻辑测试。
例如,考虑以下数组 A:
A = np.array([[1,3,5,7,9,10],[2,4,6,8,11,15],[13,15,0,7,3,1]])
以及逻辑条件:
(A>1) & (A<15)
我想选择所有单元格都满足逻辑条件的行,因此在此示例中我希望选择:
[1,3,5,7,9,10]
我尝试了以下命令:
A_filtered = A[(A>1) & (A<15)]
但是,即使(A>1) & (A<15)
是一个 3x6 布尔数组,结果A_filtered
实际上是通过逻辑测试的数组的 13 个值的列表。
我应该使用哪些命令来选择所有单元格都通过逻辑条件的行?
提前谢谢了!
解决方案
可以通过列表理解来解决,但也可以直接在 numpy.
[x for x in A if all(x >= 1) and all(x < 15)]
推荐阅读
- javascript - 为什么我作为图像包含的视图之间存在差异?
- php - 我如何知道用户点击了哪个图片?
- ios - 如何从给定日期获取下 n 天的日期
- react-native-navigation - 在 react-native-navigation 中设置标签栏图标颜色
- jmeter - Jmeter BackendListener:如何使用运行时变量
- r - 如何在R中的数字之间添加逗号?
- vagrant - 如何修复 vagrant 中的“无法检索镜像列表”错误?
- c - 我可以在 C 中用 NULL 初始化字符串吗
- java - 从全文中检索字符串的一部分
- php - 重力形式 - 基于数据库条目的下拉列表