gpt4 book ai didi

python - Pandas dataframe - 将某些行或单元格格式化为 2 d.p

转载 作者:行者123 更新时间:2023-12-02 16:47:50 25 4
gpt4 key购买 nike

对于以下数据框,我想将前两行的格式重新设置为小数点后两位。

       A         B    C        D     E   F
0 68 45 1843.4 98
1 978.1 23 3
2
3 49889.2 80

我尝试过以下方法:

df.iloc[0:1,:].style.format("{0:.2f}")

对于其他项目,我也想格式化某些单元格,例如 B 列,索引 3 到 49889.20(2 d.p.),是否可以使用类似的方法?

感谢您的帮助

附加信息:对于我正在做的事情的某些上下文,我正在创建一个混合字符串/ float 数据框,以通过 pylatex 打印到 LaTeX tex 和 PDF 文档(请参阅下面的 PDF 输出)。 pdf 打印实际的数据帧,因此 PDF 显示的数据帧与在 python 中输出的数据帧相同。我想将值显示为 2 d.p.因为它们是财务数字。最好这将在数据框中编辑,而不是在 pylatex 进程中。也就是说,pylatex 只是打印数据框。所有计算都将在发布 PDF 之前完成,因此将值转换为字符串没有问题。谢谢。 enter image description here

最佳答案

值被更改为字符串,但有可能:

df.iloc[:2] = df.iloc[:2].applymap('{0:.2f}'.format)
print (df)
A B C D E F
0 0.00 68.00 45.00 1843.40 98.00 nan
1 1.00 978.10 23.00 3.00 nan nan
2 2 NaN NaN NaN NaN NaN
3 3 49889.2 80 NaN NaN NaN

编辑:对于带有 try-except 的自定义函数,使用:

def func(x):
try:
return '{0:.2f}'.format(x)
except:
return x

df = df.applymap(func)

关于python - Pandas dataframe - 将某些行或单元格格式化为 2 d.p,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59837974/

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