在此示例中
import numpy as np
import pandas as pd
from itertools import product
df = pd.DataFrame({'Value':np.arange(10001,10007)},
index=list(product(*[['A','B'],['a','b','c']])))
df.index = pd.MultiIndex.from_tuples(df.index, names=['Caps','Lower'])
df; df.style.format("{:,}")
将df输出到Jupyter笔记本时,Caps列中的值会与顶部对齐。但是,在Jupyter笔记本中输出df.style.format("{:,}")
时,Caps列中的值居中。有没有一种方法可以强迫这些值位于顶部? (即,它们应该与a
在同一行,而不应该与b
在同一行)。
答案 0 :(得分:1)
您可以将set_table_styles
与selector
一起使用:
df.style.format("{:,}").set_table_styles([{'selector':'th',
'props':[('vertical-align','top')]}])
输出:
答案 1 :(得分:0)
默认情况下,pandas在列标签下一行显示索引标签。出于显示目的,您可以通过重置索引将它们放在同一水平线上。
df.reset_index()
Caps Lower Value
0 A a 10001
1 A b 10002
2 A c 10003
3 B a 10004
4 B b 10005
5 B c 10006