Pandas 系列总和不正确
Pandas series giving incorrect sum
为什么这个 Pandas 系列给出总和 = .99999999,其中答案是 1。在我的程序中,我需要断言 'sum is equal to 1'。而且,即使条件正确,断言也会失败。
s = pd.Series([0.41,0.25,0.25,0.09])
print("Pandas version = " + pd.__version__)
print(s)
print(type(s))
print(type(s.values))
print(s.values.sum())
输出为:
Pandas version = 0.23.4
0 0.41
1 0.25
2 0.25
3 0.09
dtype: float64
<class 'pandas.core.series.Series'>
<class 'numpy.ndarray'>
0.9999999999999999
使用np.isclose判断两个值是否任意接近。这是浮点数如何存储在机器中的残余
为什么这个 Pandas 系列给出总和 = .99999999,其中答案是 1。在我的程序中,我需要断言 'sum is equal to 1'。而且,即使条件正确,断言也会失败。
s = pd.Series([0.41,0.25,0.25,0.09])
print("Pandas version = " + pd.__version__)
print(s)
print(type(s))
print(type(s.values))
print(s.values.sum())
输出为:
Pandas version = 0.23.4
0 0.41
1 0.25
2 0.25
3 0.09
dtype: float64
<class 'pandas.core.series.Series'>
<class 'numpy.ndarray'>
0.9999999999999999
使用np.isclose判断两个值是否任意接近。这是浮点数如何存储在机器中的残余