python - Numpy - 如何选择最后一个元素为0的行?
问题描述
例如,我有 numpy 数组:
array1 = [[1,2, 3], [2,4, 0], [1,2, 9]]
然后我只想选择不以 0 结尾的行,例如:
[[1,2,3], [1,2,9]]
我试图通过以下方式做到这一点:
return array1[array1[-1] != 0]
但我得到一个尺寸错误
boolean index did not match indexed array along dimension 0; dimension is 8 but corresponding boolean dimension is 5
我觉得这不合逻辑,因为当我有一个 [1,2,3,4,0] 形式的数组并且我想选择非零元素时,我可以这样做array1[array1 != 0]
,在我看来,这两个代码位都使用相同的逻辑. 我究竟做错了什么?
解决方案
我认为您的“返回”行有误。
试试这个:
return array1[array1[:, -1] != 0]
推荐阅读
- c++ - 如何使用 OpenCv 从图像中“切出”轮廓?
- c++ - 如何以非阻塞方式压缩文件
- jquery - Rails 5 Star Rating jQuery Plugin Raty 仅在表格中以第一种形式显示星
- netsuite - 如何在 fieldChanged 事件上获取 itemtype
- python - 如何在 python 脚本中更改控制面板设置?
- android - 出现错误:java.lang.String 无法转换为 org.json.JSONObject
- python-3.x - 如何在熊猫中学习中继器字段的数量
- javascript - 具有多个元素的聚合物元素项目
- python - Web Scraping - 使用 Class 从 HTML 中获取元素
- java - 使用 Java 和 Kotlin 作为基础语言时 Native C++ Android 项目的不同行为