gpt4 book ai didi

python - Pandas 的错误​​小数计算

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:50 25 4
gpt4 key购买 nike

我在 pandas 中有一个包含四列的数据框 (df),我想要一个新列来表示这四列的平均值:df['mean']= df.mean(1)

  1    2    3    4   mean 
NaN NaN NaN NaN NaN
5.9 5.4 2.4 3.2 4.225
0.6 0.7 0.7 0.7 0.675
2.5 1.6 1.5 1.2 1.700
0.4 0.4 0.4 0.4 0.400

到目前为止一切顺利。但是当我将结果保存到 csv 文件时,这是我发现的:

5.9,5.4,2.4,3.2,4.2250000000000005
0.6,0.7,0.7,0.7,0.6749999999999999
2.5,1.6,1.5,1.2,1.7
0.4,0.4,0.4,0.4,0.4

我想我可以强制使用均值列中的格式,但知道为什么会这样吗?

我正在使用带有 python 3.3.2 和 pandas 0.11.0 的 winpython

最佳答案

您可以使用float_format 参数:

import pandas as pd
import io

content = '''\
1 2 3 4 mean
NaN NaN NaN NaN NaN
5.9 5.4 2.4 3.2 4.225
0.6 0.7 0.7 0.7 0.675
2.5 1.6 1.5 1.2 1.700
0.4 0.4 0.4 0.4 0.400'''

df = pd.read_table(io.BytesIO(content), sep='\s+')
df.to_csv('/tmp/test.csv', float_format='%g', index=False)

产量

1,2,3,4,mean
,,,,
5.9,5.4,2.4,3.2,4.225
0.6,0.7,0.7,0.7,0.675
2.5,1.6,1.5,1.2,1.7
0.4,0.4,0.4,0.4,0.4

关于python - Pandas 的错误​​小数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18147230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com