看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 对样式可以做一些整体性的配置,保证后继无需逐一去进行设置。同时,还提供了一些操作方法,使样式内容的输出更新丰富。
给表格一个标题:
df.style.set_caption('学生成绩表')
可以设置全局的数据精度,即保留小数的位数。
# 保留两个小数
df.style.set_precision(2)
# 等同于
df.round(2).style
缺失值的统一设置。
df.style.set_na_rep("暂无")
# 不输出索引
df.style.hide_index()
# 不输出指定列
df.style.hide_columns(['C','D'])
给单元格设置 CSS 样式。
# 指定列,设置字色为红色
df.style.set_properties(subset=['Q1'], **{'color': 'red'})
# 一些其他示例
df.style.set_properties(color="white", align="right")
df.style.set_properties(**{'background-color': 'yellow'})
df.style.set_properties(**{'width': '100px', 'font-size': '18px'})
df.style.set_properties(**{'background-color': 'black',
'color': 'lawngreen',
'border-color': 'white'})
给 <table>
标签增加属性,可以随意给定属性名和属性值。
df.style.set_table_attributes('class="pure-table"')
# ... <table class="pure-table"> ...
df.style.set_table_attributes('id="gairuo-table"')
# ... <table id="gairuo-table"> ...
每个单独的table_样式都应该是一个带有选择器和props键的字典。选择器应该是样式将应用于的CSS选择器(自动以表的UUID作为前缀),props应该是具有(属性、值)的元组列表。
# 给所有的行(tr 标签)的 hover 方法给一个黄色背景
# 人话说是鼠标移动上去整行背景变黄
df.style.set_table_styles(
[{'selector': 'tr:hover',
'props': [('background-color', 'yellow')]}]
)
# 按列设置不同的属性 overwrite 可设置替换还是扩展 pd 1.2.0+
df.style.set_table_styles({
'A': [{'selector': '',
'props': [('color', 'red')]}],
'B': [{'selector': 'td',
'props': [('color', 'blue')]}]
}, overwrite=False)
# axis 可按列操作 pd 1.2.0+
df.style.set_table_styles({
0: [{'selector': 'td:hover',
'props': [('font-size', '25px')]}]
}, axis=1, overwrite=False)
给定 CSS 字符串,如用 'color:red;'
代替 [('color', 'red')]
:
df.style.set_table_styles(
[{'selector': 'tr:hover',
'props': 'background-color: yellow; font-size: 1em;']}]
)
# 按列名称添加列样式
df.style.set_table_styles({
'A': [{'selector': '',
'props': [('color', 'red')]}],
'B': [{'selector': 'td',
'props': 'color: blue;']}]
}, overwrite=False)
# 给每个表格给一个相同的符缀
df.style.set_uuid(9999)
# ... <td id="T_9999row0_col2" ...
# 加 gairuo
df.style.set_uuid('gairuo')
# ... <td id="T_gairuorow0_col2" ...
Pandas 1.3.0 增加了Styler.set_sticky
用于在导出样式的 html 时,表头在上下滚动数据时固定,索引行标在左右滚动时固定,方便查看数据。
# 固定表头
df.style.set_sticky(axis='columns').to_html('333.html')
# 固定索引行标签
df.style.set_sticky(axis='index').to_html('333.html')
打开生成的 html 文件可以看看效果。
更新时间:2021-08-06 01:15:37 标签:pandas 样式