如何更改 pandas DataFrame 标头的样式?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/49115514/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How can I change the styles of pandas DataFrame headers?
提问by Han
I have the following Python script which generates a HTML table. Now I want to change some styles of the table, but I'm having problems with changing the font sizes of the headers.
我有以下生成 HTML 表格的 Python 脚本。现在我想更改表格的某些样式,但是我在更改标题的字体大小时遇到了问题。
import pandas as pd
df = pd.DataFrame({'col1': [1, 2, 3, 4]})
html = (df.style
.set_table_styles({'selector': 'th', 'props': [('font-size', '5pt')]})
.set_properties(**{'font-size': '10pt'}).render())
f = open('test.html', 'wb')
f.write(html)
How can I change the styles of headers?
如何更改标题的样式?
<style type="text/css" >
#T_f85befdc_2093_11e8_85e2_08002718d81b {
} #T_f85befdc_2093_11e8_85e2_08002718d81b {
} #T_f85befdc_2093_11e8_85e2_08002718d81brow0_col0 {
font-size: 10pt;
} #T_f85befdc_2093_11e8_85e2_08002718d81brow1_col0 {
font-size: 10pt;
} #T_f85befdc_2093_11e8_85e2_08002718d81brow2_col0 {
font-size: 10pt;
} #T_f85befdc_2093_11e8_85e2_08002718d81brow3_col0 {
font-size: 10pt;
}</style>
<table id="T_f85befdc_2093_11e8_85e2_08002718d81b" >
<thead> <tr>
<th class="blank level0" ></th>
<th class="col_heading level0 col0" >col1</th>
</tr></thead>
<tbody> <tr>
<th id="T_f85befdc_2093_11e8_85e2_08002718d81b" class="row_heading level0 row0" >0</th>
<td id="T_f85befdc_2093_11e8_85e2_08002718d81brow0_col0" class="data row0 col0" >1</td>
</tr> <tr>
<th id="T_f85befdc_2093_11e8_85e2_08002718d81b" class="row_heading level0 row1" >1</th>
<td id="T_f85befdc_2093_11e8_85e2_08002718d81brow1_col0" class="data row1 col0" >2</td>
</tr> <tr>
<th id="T_f85befdc_2093_11e8_85e2_08002718d81b" class="row_heading level0 row2" >2</th>
<td id="T_f85befdc_2093_11e8_85e2_08002718d81brow2_col0" class="data row2 col0" >3</td>
</tr> <tr>
<th id="T_f85befdc_2093_11e8_85e2_08002718d81b" class="row_heading level0 row3" >3</th>
<td id="T_f85befdc_2093_11e8_85e2_08002718d81brow3_col0" class="data row3 col0" >4</td>
</tr></tbody>
</table>
回答by Han
I've found out I need to pass a parameter as a list to Styler.set_table_styles()
. It's now working with the following code.
我发现我需要将参数作为列表传递给Styler.set_table_styles()
. 它现在使用以下代码。
html = (df.style
.set_table_styles([{'selector': 'th', 'props': [('font-size', '5pt')]}])
.set_properties(**{'font-size': '10pt'}).render())