我正在尝试将 pandas DataFrame 写入 csv,其中包含具有各种数据类型的列。我需要所有浮点值精确到小数点后 4 位。
例如。我定义了一个新的 df:
df=pd.DataFrame({'col1': [0.24567899874, 'a'], 'col2' : [0.123456789, 1] })
然后使用 float_format 将其写入 csv 文件:
df.to_csv('example.csv', float_format='%.4f')
我得到的结果是: 第 1 列,第 2 列 0.24999999999986597,0.1234 一、1.0000
似乎 float_format 仅适用于所有元素均为数值的列。
最佳答案
你可以这样做:
for col in df.columns:
df[col] = df[col].apply(lambda x: '{:.4f}'.format(x) if type(x) is int or type(x) is float else x)
df.to_csv('example.csv')
关于python - Pandas 浮点小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58546149/