简体   繁体   English

如何 pivot pandas dataframe?

[英]How to pivot pandas dataframe?

My DataFrame looks like this:我的 DataFrame 看起来像这样:

在此处输入图像描述

How can I have Budget for each Division ?我怎样才能有每个DivisionBudget

Should look like this:应该是这样的:

在此处输入图像描述

import pandas as pd 

df=pd.DataFrame ({
'TotalAmount':[500,600,780,900],
'Division': ['Commercial Auto', 'Commercial Auto','Surety', 'Worker''s Comp'],
'MonthNumber':[1,2,3,4],
'YearNumber': [2019,2019,2019,2019],
'Budget': [550,570,700,920],
'PostDate': ['2019-01-01', '2019-02-01','2019-03-01','2019-04-01']
})
#print(df)
t = pd.pivot_table(df, values='Budget', index='Division',columns='MonthNumber',fill_value=0).reset_index()
print(t)
df1 = pd.pivot_table(df, values=['TotalAmount','Budget'] , index='Division',columns='MonthNumber',fill_value=0).T.unstack(0).T.reset_index()
df1.columns.name = None
df1 = df1.sort_values(['Division','level_1'], 0, [True,False])
df1.Division = df1.level_1.where(df1.level_1 == 'Budget', df1.Division)
df1 = df1.drop('level_1', 1)

Result:结果:

          Division    1    2    3    4
1  Commercial Auto  500  600    0    0
0           Budget  550  570    0    0
3           Surety    0    0  780    0
2           Budget    0    0  700    0
5     Workers Comp    0    0    0  900
4           Budget    0    0    0  920

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM