Pandas DataFrame GroupBy / Count to new DataFrame

时间:2017-11-14 15:03:55

标签: python pandas pandas-groupby

我的DataFrame是

TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("create DATABASE");
dialog.setHeaderText("create DATABASE");
dialog.setContentText("Ingrese un nombre:");
dialog.showAndWait().ifPresent(name -> getCodeArea().setTemplateInjump("create database "+name+";\n\nuse "+name+";\n\n"));  

我需要使用列来获取新的DataFrame:

State|City|Year|Budget|Income
S1|C1|2000|1000|1
S1|C2|2000|1200|2
S2|C3|2000|5500|3

即,

State, Year, Count, Sum_Budget, Sum_Income:

在C#中,代码为:

State|Year|Count|Sum_Budget|Sum_Income
S1|2000|2|2200|3
S2|2000|1|5500|3

我如何使用熊猫这样做?

1 个答案:

答案 0 :(得分:1)

使用agg

d = {'Income':'Sum_Income','Budget':'Sum_Budget','City':'Count'}
agg_d = {'Budget':'sum', 'Income':'sum', 'City':'size'}
df = df.groupby(['State', 'Year'], as_index=False).agg(agg_d).rename(columns=d)

print (df)
   State  Year  Sum_Income  Sum_Budget  Count
0    S1  2000           3        2200      2
1    S2  2000           3        5500      1
相关问题