【问题标题】:Pandas changing number when I save a DataFrame as CSV (python3)当我将 DataFrame 保存为 CSV(python3)时,Pandas 更改编号
【发布时间】:2019-01-20 13:38:19
【问题描述】:

我正在运行这段代码:

df = pd.read_csv("./teste/teste_1.csv", sep=";")
df.fillna(0, inplace=True)
a = df['Total'] = df['A'] + df['B'] + df['C'] + df['D'] + df['E']
print(df)
df.to_csv("./teste/9table.csv", sep=";")
print("Done")

teste_1.csv:

META;A;B;C;D;E;%
A;;24.564;;;;-0.00%
B;;2.150;;;;3.55%
C;;;15.226;;;6.14%

得到这个打印:

  META    A       B       C    D    E       %   Total
0    A  0.0  24.564   0.000  0.0  0.0  -0.00%  24.564
1    B  0.0   2.150   0.000  0.0  0.0   3.55%   2.150
2    C  0.0   0.000  15.226  0.0  0.0   6.14%  15.226

但是,当我将其保存到 csv 时,我得到了以下结果:

  META    A       B                 C              D    E       %   Total
0    A  0.0  24.564                0.0            0.0  0.0  -0.00%  24.564
1    B  0.0    2.15                0.0            0.0  0.0   3.55%    2.15
2    C  0.0     0.0 15.225999999999900            0.0  0.0   6.14%  15.225999999999900

>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 8 columns):
META 3 non-null object
A 3 non-null float64
B 3 non-null float64
C 3 non-null float64
D 3 non-null float64
E 3 non-null float64
% 3 non-null object
Total 3 non-null float64
dtypes: float64(6), object(2)
memory usage: 272.0+ bytes

【问题讨论】:

  • 请发布df.info()df.to_dict('list'),以便我们尝试重现问题。
  • df.info(): &lt;class 'pandas.core.frame.DataFrame'&gt; RangeIndex: 3 entries, 0 to 2 Data columns (total 8 columns): META 3 non-null object A 3 non-null float64 B 3 non-null float64 C 3 non-null float64 D 3 non-null float64 E 3 non-null float64 % 3 non-null object Total 3 non-null float64 dtypes: float64(6), object(2) memory usage: 272.0+ bytes
  • 对不起,它正在返回 15.225999999999900 这个号码。

标签: python-3.x pandas csv saving-data


【解决方案1】:

在保存 csv 时尝试使用 float_format='%.2f'。让我们尝试如下

df.to_csv("./teste/9table.csv", sep=";", float_format='%.2f')

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2020-02-17
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多