Pandas pivot_table 列 header 顺序

Pandas pivot_table column header Order

我正在尝试用 pandas 制作一个枢轴 table 并显示它。

我正在使用来自 https://eforexcel.com/wp/downloads-18-sample-csv-files-data-sets-for-testing-sales/

的数据集 50000 Sales Records

这是它的样子

这是我用来生成数据透视表的代码 table。

index = ['Region', 'Country']

columns = ['Item Type']

values = ['Order ID', 'Units Sold']

aggfunc = ['count', 'mean']

aggfunc = {i: j for i, j in zip(values, aggfunc)}

df_ = df[list(set(index + columns + values))]

df__ = pd.pivot_table(
    data=df_,
    index=index,
    values=values,
    columns=columns,
    aggfunc=aggfunc,
).reset_index()

df__

这是我得到的结果。这里,headers 列的顺序是 values -> columns

有什么方法可以得到 columns -> values 形式的结果,即

谢谢

使用 DataFrame.swaplevel 进行排序 MultiIndex:

df__ = pd.pivot_table(
    data=df_,
    index=index,
    values=values,
    columns=columns,
    aggfunc=aggfunc,
).swaplevel(1,0, axis=1)
 .sort_index([0,1], ascending=[True, False])
 .reset_index()