1

在这个例子中

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 列中的值与顶部对齐。但是,当df.style.format("{:,}")在 Jupyter 笔记本中输出时,Caps 列中的值居中。有没有办法迫使这些价值观处于最高水平?(即它们应该在同一行中,a而不是在同一行中b)。

4

2 回答 2

1

您可以set_table_styles使用selector

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

输出:

在此处输入图像描述

于 2020-04-21T02:42:25.217 回答
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
于 2020-04-21T02:24:31.843 回答