2017-07-07 10 views
0

Ich habe Datenrahmen wie folgt aus:Wie einige Daten in Pandas Datenrahmen aggregieren

df = pd.DataFrame({'id': [115,120,200], 'category': ['a','a', 'b'], 'clust': [1, 2, 3]}) 

Ich will die Menge von id jeder Kategorie aggregieren und zu zählen, die insbesondere CLUST ist. Zum Beispiel können dazu führen, wo Indexzeile auch Datenrahmen CLUST und Indexspalte ist Kategorie und Werte sind Höhe der ID

Antwort

0

IIUC, wir verwenden groupby und unstack:

import pandas as pd 
df = pd.DataFrame({'id': [115,120,200], 'category': ['a', 'a', 'b'], 'clust': [1, 2, 3]}) 
df 

Eingangsdatenrahmen:

category clust id 
0  a  1 115 
1  a  2 120 
2  b  3 200 

Group, aggegrate und umformen:

df_out = df.groupby(['clust','category'])['id'].count().unstack() 

Ausgabe:

category a b 
clust    
1   1.0 NaN 
2   1.0 NaN 
3   NaN 1.0 
Verwandte Themen