为了清楚起见,如何在 pandas DataFrame 中“命名”列/行?

Ray*_*lez 7 python dataframe pandas

为了清楚起见,我试图弄清楚如何“命名”pandas DataFrame 中的行和列。我不确定它叫什么,但我正在尝试创建一个像这样的表: 在此输入图像描述

有没有一种简单的方法可以在列名称顶部添加“实际类别”,在行名称左侧添加“预测类别”,只是为了澄清?

piR*_*red 9

从...开始df

classes = ['Cat', 'Dog', 'Rabbit']
df = pd.DataFrame([[5, 2, 0], [3, 3, 2], [0, 1, 11]], classes, classes)
df

        Cat  Dog  Rabbit
Cat       5    2       0
Dog       3    3       2
Rabbit    0    1      11
Run Code Online (Sandbox Code Playgroud)

pandas.concat

pd.concat(
    [pd.concat(
        [df],
        keys=['Actual Class'], axis=1)],
    keys=['Predicted Class']
)

                       Actual Class           
                                Cat Dog Rabbit
Predicted Class Cat               5   2      0
                Dog               3   3      2
                Rabbit            0   1     11
Run Code Online (Sandbox Code Playgroud)

pandas.MultiIndex.from_product

重建

pd.DataFrame(
    df.values,
    pd.MultiIndex.from_product([['Predicted Class'], df.index]),
    pd.MultiIndex.from_product([['Actual Class'], df.columns])
)

                       Actual Class           
                                Cat Dog Rabbit
Predicted Class Cat               5   2      0
                Dog               3   3      2
                Rabbit            0   1     11
Run Code Online (Sandbox Code Playgroud)