python - Python:在多个数组列中计算零并有效地存储它们
问题描述
我创建一个数组:
import numpy as np
arr = [[0, 2, 3], [0, 1, 0], [0, 0, 1]]
arr = np.array(arr)
现在我计算每列的每个零并将其存储在一个变量中:
a = np.count_nonzero(arr[:,0]==0)
b = np.count_nonzero(arr[:,1]==0)
c = np.count_nonzero(arr[:,2]==0)
这段代码工作正常。但在我的情况下,我有更多的列,每个列都有超过 70000 个值。这将是更多的代码行和 spyder 中一个非常混乱的变量探索器。
我的问题:
- 是否有可能使此代码更高效并将值仅保存在一种类型的数据中,例如字典、数据框或元组?
- 我可以使用循环来创建 dic、数据框或元组吗?
谢谢
解决方案
您可以构造一个布尔数组arr == 0
,然后沿行取其总和。
>>> (arr == 0).sum(0)
array([3, 1, 1])
推荐阅读
- java - Java TCP Ping IP 地址
- php - 如何将主键的值插入到插入查询中
- nativescript - 为什么模拟器和物理设备之间的 scollview 行为不同?
- .net - 403 禁止:您无权访问此资源。Apache/2.4.18 (Ubuntu) 服务器端口 443
- scala - Databricks scala 从数据帧字段中删除间歇性\n
- python - 熊猫日期时间转换问题
- python - 将两个字符串放入一个键中,其余的放入文件中多行的值
- javascript - 为什么 React Native Navigation 监听器在第一次尝试时触发?
- python - 使用python查找图像中最暗的颜色
- elasticsearch - 如何为通过服务相互通信的 2 组 Statefulset 的 Pod 创建自签名证书