arrays - 使用花哨的索引从 Numpy 数组中查找和删除全零列
问题描述
如何在 numpy 数组中找到全为零的列,然后将它们从数组中删除?我正在寻找一种方法来获取列索引,然后使用这些索引进行删除。
解决方案
您可以使用np.argwhere
, withnp.all
来查找您的索引。要删除它们,请使用np.delete
.
示例:
查找您的0
列:
a = np.array([[1, 2, 0, 3, 0],
[4, 5, 0, 6, 0],
[7, 8, 0, 9, 0]])
idx = np.argwhere(np.all(a[..., :] == 0, axis=0))
>>> idx
array([[2],
[4]])
删除您的列
a2 = np.delete(a, idx, axis=1)
>>> a2
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
推荐阅读
- docker - 从什么时候将用户添加到 docker 组不足以执行 docker 客户端并且我每次都需要`newgrp docker`?
- c# - 如何验证 ODataQueryOptions
- c# - 如何在soap web services c#中请求并获取响应
- asp.net - 默认网站 IIS asp.net 下的多个应用程序
- javascript - 从四舍五入遇到 toFixed 问题
- java - 将列表项排序为顺序列表
- excel - 使用 VBA 从工作表中检索特定形状的名称和位置
- java - 如何递归地添加随机数组的数字?
- makefile - 在一个构建规则中定义变量并在其他构建规则中使用它
- python - 如何一次发送多封电子邮件,每个电子邮件都带有一个 xlsx 文件附件?