熊猫数据框样式格式

时间:2020-04-20 20:12:57

标签: python-3.x pandas jupyter-notebook

在此示例中

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在同一行)。

2 个答案:

答案 0 :(得分:1)

您可以将set_table_stylesselector一起使用:

df.style.format("{:,}").set_table_styles([{'selector':'th',
                                           'props':[('vertical-align','top')]}])

输出:

enter image description here

答案 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