我需要计算numpy
数组中零元素的数量。我知道numpy.count_nonzero函数,但似乎没有用于计算零元素的模拟函数。
我的数组不是很大(通常少于1E5个元素),但是这个操作执行了数百万次。
当然,我可以使用len(arr) - np.count_nonzero(arr)
,但我想知道是否有一种更有效的方法来做到这一点。
以下是我目前的做法:
import numpy as np
import timeit
arrs = []
for _ in range(1000):
arrs.append(np.random.randint(-5, 5, 10000))
def func1():
for arr in arrs:
zero_els = len(arr) - np.count_nonzero(arr)
print(timeit.timeit(func1, number=10))
稍微快一点的方法是只使用^{} 但根据需要使用条件。
您也可以使用^{} ,但它比^{} 慢
效率:(降序)
相关问题 更多 >
编程相关推荐