python - Pandas 浮点小数

标签 python pandas decimal

我正在尝试将 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/

相关文章:

python - 有没有办法从某一列开始使用枚举?

python - 你如何拆开 DataFrame 中的列?

mysql - 为什么无法将数据加载到mysql :

python - 在 Python 中实现 MSNP15 - 911 错误,但所有票证都是正确的

python - 使用公共(public)键合并两个数据框并添加唯一列

python - 如何仅设置 pandas 数据框最后一行的样式?

c# - 生成十进制类型的往返字符串

Javascript - 将带分数转换为小数

python - 调制探测器 : FATAL: Module nvidia-uvm not found in directory/lib/modules/

python - 使用Python 're.split' Unicode字符