【发布时间】:2014-03-13 17:46:50
【问题描述】:
我需要计算 numpy ndarray 矩阵中非 NaN 元素的数量。如何在 Python 中有效地做到这一点?这是我实现此目的的简单代码:
import numpy as np
def numberOfNonNans(data):
count = 0
for i in data:
if not np.isnan(i):
count += 1
return count
numpy 中是否有内置函数?效率很重要,因为我正在做大数据分析。
感谢您的帮助!
【问题讨论】:
-
这个问题似乎是题外话,因为它属于codereview.stackexchange.com
-
你的意思是在内存方面高效?
-
+1 我在考虑 CPU 时间,但是为什么不考虑内存。越快越便宜越好 =)
-
@jjepsuomi 内存效率高的版本是
sum(not np.isnan(x) for x in a),但就速度而言,它比@M4rtini numpy 版本慢。 -
@AshwiniChaudhary 非常感谢!我需要看看在我的应用程序中哪个更重要 =)