当前位置: 首页 > 工具软件 > tabulate > 使用案例 >

python中tabulate_python – print(tabulate(…))到漂亮的打印multiIndex pandas?

夹谷山
2023-12-01

说我有一个熊猫数据框:

import numpy as np

import pandas as pd

from tabulate import tabulate

A = pd.DataFrame(np.random.randint(0,10,(3,6)),index= ['uno','dos','tres'])

A.columns = ['A','B','C','D','E','F']

A.index.names = ['type']

A.columns.names= ['group']

h = [A.index.names[0] +'/'+ A.columns.names[0]] + list(A.columns)

print(tabulate(A,headers= h,tablefmt= 'grid'))

这使:

+--------------+-----+-----+-----+-----+-----+-----+

| type/group | A | B | C | D | E | F |

+==============+=====+=====+=====+=====+=====+=====+

| uno | 3 | 1 | 6 | 0 | 7 | 0 |

+--------------+-----+-----+-----+-----+-----+-----+

| dos | 9 | 5 | 3 | 0 | 6 | 6 |

+--------------+-----+-----+-----+-----+-----+-----+

| tres | 6 | 7 | 4 | 6 | 8 | 4 |

+--------------+-----+-----+-----+-----+-----+-----+

现在添加一个图层:

iterable = [['A','B'],['AA','BB','CC']]

A.columns = pd.MultiIndex.from_product(iterable,names= ['group','subgroup'])

A.index.names = ['type']

将使用打印声明给出:

group A B

subgroup AA BB CC AA BB CC

type

uno 3 1 6 0 7 0

dos 9 5 3 0 6 6

tres 6 7 4 6 8 4

通常,这在诸如pweave的文档上不能很好地呈现.

我如何使用print(tabulate(…)),例如我将每个组和子组显示在单独的行上?

谢谢

 类似资料: