gpt4 book ai didi

python - 如何根据 Pandas to_html 中的行条件格式化数字

转载 作者:行者123 更新时间:2023-11-30 22:06:26 25 4
gpt4 key购买 nike

我有包含国家/地区度量和值列的数据框:

Country| Measures| Value|
US |Sales |10000.000
US |Share % |0.10265
US |Price |15.82564
UK |Sales |10500.000
UK |Share % |0.30265
UK |Price |13.72564

我从数据库加载数据帧, float 最多为6位,我想要以下 html 格式

Country| Measures |Values
US |Sales |10000
US |Share % |10.2%
US |Price |15.83
UK |Sales |10500
UK |Share % |30.27%
UK |Price |13.72

使用 df.to_html 函数的“float_format”或“formatters”参数,我可以将所有数字分别转换为所需的格式或列特定格式

下面的代码是我在列特定格式中使用的我的股票和价格在列中而不是在行中

df.to_html(index=False, formatters={ 'Share %': '{:,.1%}'.format,
'Price': '{:,.1f}'.format})

但是这里我的要求是基于行进行格式化

我想要

  1. 整数销量
  2. 份额百分比,保留 2 位小数
  3. 价格数字,保留 2 位小数

有什么办法可以实现这一点吗?

最佳答案

您可以使用字符串格式

fmap = dict(
Sales='{:0.0f}'.format,
Price='{:0.2f}'.format,
Share='{:0.2%}'.format
)

df.assign(Value=[fmap[m](v) for m, v in zip(df.Measures, df.Value)])

Country Measures Value
0 US Sales 10000
1 US Share 10.27%
2 US Price 15.83
3 UK Sales 10500
4 UK Share 30.26%
5 UK Price 13.73
<小时/>

备用字典规范

fmap = {
'Sales': '{:0.0f}'.format,
'Price': '{:0.2f}'.format,
'Share': '{:0.2%}'.format
}

关于python - 如何根据 Pandas to_html 中的行条件格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52722888/

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