这是我的代码:
import pandas as pd
df = pd.DataFrame({'Test': [861166021755746, 861166021755746, 861166021755746]})
print(df.describe())
这里是输出(请注意std的值):
Test
count 3.000000e+00
mean 8.611660e+14
std 1.186328e+07
min 8.611660e+14
25% 8.611660e+14
50% 8.611660e+14
75% 8.611660e+14
max 8.611660e+14
std的正确值为零,因为所有三个数字都相同。
现在我将数据框放在上面,并将第一个数字8替换为数字9
df = pd.DataFrame({'Test': [961166021755746, 961166021755746, 961166021755746]})
print(df.describe())
现在的输出是(请注意标准编号):
Test
count 3.000000e+00
mean 9.611660e+14
std 0.000000e+00
min 9.611660e+14
25% 9.611660e+14
50% 9.611660e+14
75% 9.611660e+14
max 9.611660e+14
我找到神奇的数字还是怎么回事?
此问题确实是与方差计算错误相关的错误,并且已在版本0.17.0
中解决。如果使用任何以前的版本,则应将其更新为较新的版本,或按照注释在环境中安装bottleneck
的建议进行安装。