如何更改 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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 05:16:31  来源:igfitidea点击:

How can I change the styles of pandas DataFrame headers?

pythoncsspandas

提问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())