结合Pandas的多种风格

2024-10-01 11:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想问一下是否可以在pandas中组合不同的样式格式。 例如,我想同时组合以下4种风格。在

df.style.format({'vm_unity': '{:.2%}'}).bar(subset=['vm_unity'], align='mid', color=['#d65f5f', '#5fba7d'])
df.style.bar(subset=['vm_top'], align='mid', color=['#d65f5f', '#5fba7d'])
df.style.bar(subset=['vm_bot'], align='mid', color=['#d65f5f', '#5fba7d'])
df.style.bar(subset=['Sy'], align='mid', color=['#d65f5f', '#5fba7d'])

我目前的表现方式是把它们组合在一条线上,但我相信这并不是最优雅的方式

df.style.format({'vm_unity': '{:.2%}'}).bar(subset=['vm_unity'], align='mid', color=['#d65f5f', '#5fba7d']).bar(subset=['vm_top'], align='mid', color=['#d65f5f', '#5fba7d']).bar(subset=['vm_bot'], align='mid', color=['#d65f5f', '#5fba7d']).bar(subset=['Sy'], align='mid', color=['#d65f5f', '#5fba7d'])

你能不能给我一个更有效的方法?在

提前谢谢你!在


Tags: formatdfstyletopbot方式barvm
2条回答

您可以使用python的本机linebreak\并在之后打断该行。你的代码应该是:

df.style.format({'vm_unity': '{:.2%}'})\
        .bar(subset=['vm_unity'], align='mid', color=['#d65f5f', '#5fba7d'])\
        .bar(subset=['vm_top'], align='mid', color=['#d65f5f', '#5fba7d'])\
        .bar(subset=['vm_bot'], align='mid', color=['#d65f5f', '#5fba7d'])\
        .bar(subset=['Sy'], align='mid', color=['#d65f5f', '#5fba7d'])

第一种方法

所以有多种方法可以对Styler/pandas数据帧使用/应用多种样式。对我来说,最简单、最直接的方法是导出样式,如下所示

myStyle = myStyler.export()

对你来说

^{pr2}$

这将返回一个样式对象,稍后可以使用

from pandas.io.formats.style import Styler
Styler.use([style_1])

这个函数最酷的地方在于,通过传递样式列表,您可以同时使用on或几个不同的样式。因此,要回答您的问题,只需确保您事先导出了所需的所有样式,然后就可以一次应用所有样式。在

第二种方法

是通过使用pandas.io.formats.style.Styler.where,以防您只想应用两种替代样式。在

相关问题 更多 >