我有一个示例数据框
headquarter sales base %growth month_year
Los Angeles 1000 2000 30 202101
Florida City 2000 2000 20 202101
Los Angeles 5000 6000 70 202001
Florida City 4000 4500 45 202001
我正在尝试使用透视数据
data = data.pivot_table(columns=['month_year'], values=['sales', 'base', '%growth'], index=['headquarter'])
print(data)
> %growth base sales
202001 202101 202001 202101 202001 202101
headquarter
Los Angeles 70 30 6000 2000 5000 1000
Florida City 45 20 4000 2000 4500 2000
这些值与上面片段中提到的顺序不符。
我如何将数据重构为
> 202001 202101
Sales base %growth Sales base %growth
headquarter
Los Angeles 5000 6000 70 1000 2000 30
Florida City 4500 4000 45 2000 2000 20
DataFrame.swaplevel
搭配使用DataFrame.reindex
:
mux = pd.MultiIndex.from_product([data['month_year'].unique(), ['Sales','base','%growth']])
data = data.pivot_table(columns=['month_year'],
values=['Sales', 'base', '%growth'],
index=['headquarter']).swaplevel(1, 0, axis=1).reindex(mux, axis=1)
print(data)
202101 202001
Sales base %growth Sales base %growth
headquarter
Florida City 2000 2000 20 4000 4500 45
Los Angeles 1000 2000 30 5000 6000 70
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句