2017-08-15 1 views
2

ich folg Datenrahmen als Ergebnis groupby Betrieb haben:Pandas Datenrahmen nach groupby Betrieb vereinfachen

region year  val 
1.0  2015.0 6.775457e+05 
1.0  2016.0 6.819761e+05 
1.0  2017.0 6.864065e+05 

ich versucht, mit Entstapelungsunterdrückung(), aber:

region year 
1.0  2015.0 6.775457e+05 
     2016.0 6.819761e+05 
     2017.0 6.864065e+05 

Wie kann ich es in die folg umwandeln das nicht funktioniert

Antwort

2

Sie müssen reset_index für convert Series zu DataFrame:

df = df.groupby(['region', 'year'])['val'].sum().reset_index(name='val') 
print (df) 
    region year  val 
0  1.0 2015.0 677545.7 
1  1.0 2016.0 681976.1 
2  1.0 2017.0 686406.5 

Oder wenn Aggregat von sum, mean Add Parameter as_index=False:

df = df.groupby(['region', 'year'], as_index=False)['val'].sum() 
print (df) 
    region year  val 
0  1.0 2015.0 677545.7 
1  1.0 2016.0 681976.1 
2  1.0 2017.0 686406.5 
+1

dank @jezrael, besonders für alternativen Lsg – user308827

+0

Glad kann helfen;) – jezrael