小编use*_*974的帖子

大数组的 numpy.mean 精度

我不明白为什么将 float32-Array 转换为 float64-Array 会显着改变数组的平均值。

import numpy as n  

a = n.float32(100. * n.random.random_sample((10000000))+1000.)
b = a.astype(n.float64)        
print n.mean(a), a.dtype, a.shape
print n.mean(b), b.dtype, b.shape
Run Code Online (Sandbox Code Playgroud)

结果(应该是大约 1050,所以 float64 是正确的):

1028.346368   float32 (10000000,)                                                          
1049.98284473 float64 (10000000,)
Run Code Online (Sandbox Code Playgroud)

precision numpy

2
推荐指数
1
解决办法
2243
查看次数

标签 统计

numpy ×1

precision ×1