如何解决熊猫数据框为什么显示的数据与存储的数据不同?
将“pivot_table”应用到 df,我得到了一个平均值。
df_mean=df.pivot_table(index=['col_1']).sort_index(axis=1,level=1)
当我显示结果数据框的 WIND 列时
df_mean.WIND
Out[418]:
col_1
P1 76.450000
P2 75.200000
P3 83.680000
P4 84.221429
P5 67.875000
Name: WIND,dtype: float64
为什么当我直接访问元素时会有所不同?
df_mean.WIND[0]
Out[419]: 76.44999999999999
我想把这个四舍五入(小数点后一位),我希望得到 76.5...
我一直在寻找答案,也许与此有关?:
import statistics
df_calculo = pd.DataFrame({"A":[80.8,76.3,78.6,77.1,69.4,67.7,72.4,89.3]})
df_calculo.dtypes
uu=statistics.mean(df_calculo["A"])
print(uu)#Is EXACT
uu2=df_calculo["A"].mean()
uu2#Is NOT exact
结果:
uu= 76.45
uu2= 76.44999999999999
解决方法
Pandas 中的默认显示精度为 6 位小数。它只是显示舍入。实际值是使用 np.mean()
作为默认 agg_function
计算的。所以这与这里使用的均值类型有关。
Pandas Docs on options:参见“display.precision”
以小数点后位数表示的浮点输出精度,适用于常规格式和科学记数法。类似于 numpy 的精确打印选项
和Docs on pivot_table:见“agg_function”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。