我想知道 numpy 中平均计算最快的方法是什么。我使用以下代码进行实验:
import time
n = 10000
p = np.array([1] * 1000000)
t1 = time.time()
for x in range(n):
np.divide(np.sum(p), p.size)
t2 = time.time()
print(t2-t1)
Run Code Online (Sandbox Code Playgroud)
3.9222593307495117
t3 = time.time()
for x in range(n):
np.mean(p)
t4 = time.time()
print(t4-t3)
Run Code Online (Sandbox Code Playgroud)
5.271147012710571
我认为 np.mean 会更快或至少在速度上相当,但是看起来 numpy 函数的组合比 np.mean 更快。为什么numpy函数的组合速度更快?
对于整数输入,默认情况下numpy.mean以 float64 dtype 计算总和。这可以防止溢出错误,但需要对每个元素进行转换。
numpy.sum在计算总和后,您的代码仅转换一次。
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |