Python 使用熊猫样式功能更改多级索引字体

Python 使用熊猫样式功能更改多级索引字体,python,pandas,crosstab,Python,Pandas,Crosstab,我想制作一些具有多级索引(跨多个变量交叉制表)的漂亮表格。有了下面的数据,如果我用熊猫风格的功能打印它,那么位置、波段和状态的索引就相当大,并且是负责的。有没有办法更改多级标题的大小/颜色/字体?非常感谢 df1 = pd.DataFrame(data={'id': [1,2,3,4,5,6,7,8,9,10], 'place': [1,1,2,2,2,1,1,2,1,1], 'band': [1,2,3,3,3,2,1,2,3,1], 'status': [1,2,2,1,1,1,1,2,1,

我想制作一些具有多级索引(跨多个变量交叉制表)的漂亮表格。有了下面的数据,如果我用熊猫风格的功能打印它,那么位置、波段和状态的索引就相当大,并且是负责的。有没有办法更改多级标题的大小/颜色/字体?非常感谢

df1 = pd.DataFrame(data={'id': [1,2,3,4,5,6,7,8,9,10], 'place': [1,1,2,2,2,1,1,2,1,1], 'band': [1,2,3,3,3,2,1,2,3,1], 'status': [1,2,2,1,1,1,1,2,1,2]})

d1={1: 'north', 2: 'south'} 
d2={1: '10-20', 2: '30-40', 3: '20-30'} 
d3={1: 'green', 2: 'red'} 

df1['place']=df1['place'].map(d1).fillna('Other')
df1['band']=df1['band'].map(d2).fillna('Other')
df1['status']=df1['status'].map(d3).fillna('Other')

tab = pd.crosstab(df1.band, [df1.place, df1.status]).apply(lambda r: r/r.sum(), axis=1).round(2) 

tab.style


不能在多索引中修饰单个索引,但可以对批处理采用以下方法

th_css = [
    {
        "selector": "th",
        "props": [
            ("background-color", "#48d1cc"),
            ("color", "white"),
            ("border", "1px solid #fdf5e6"),
            ("font-size", "16px"),
        ],
    },
]
style = tab.style
style = style.set_precision(2).set_table_styles(th_css)
style

表格的样式仅为“th”,因此不能在个人级别更改。如果要统一更改多索引,可以设置原始CSS来装饰它。如果你想使用一致性,我会回答。谢谢你的回复@r-初学者,我会非常感激-那将非常有用,非常感谢!有没有办法使字体不加粗?太粗糙了。或者另一种制作精美表格的方法。非常感谢你添加了这个,文本将不再粗体<代码>(“字体重量”、“正常”)