2016-11-11 7 views
2

Wie kann ich die Anzahl der Vorkommen jeder eindeutigen Zeile in einem DataFrame zählen?Pandas - Anzahl der eindeutigen Zeilenvorkommen im Datenframe

df = {'x1': ['A','B','A','A','B','A','A','A'], 'x2': [1,3,2,2,3,1,2,3]} 
df = pd.DataFrame(df) 

df 
    x1 x2 
0 A 1 
1 B 3 
2 A 2 
3 A 2 
4 B 3 
5 A 1 
6 A 2 
7 A 3 

Und ich würde

x1 x2 count 
0 A 1  2 
1 A 2  3 
2 A 3  1 
3 B 3  2 
+0

Entschuldigung Was ist falsch an deinem derzeitigen Ansatz? Oder erwarten Sie '4' am Ende basierend auf' len (df.groupby (['x1', 'x2']). Count()) '? – EdChum

+0

Ich kann die Spalte "count" nicht abrufen. Mein Code gibt 'Empty DataFrame' zurück. – Pepacz

+0

Sind Sie nach 'df ['count'] = df.groupby (['x1', 'x2']) ['x1']. Transformieren ('count')'? – EdChum

Antwort

3

erhalten wie IIUC Sie param as_index=False als ARG groupby passieren kann:

In [100]: 
df.groupby(['x1','x2'], as_index=False).count() 

Out[100]: 
    x1 x2 count 
0 A 1  2 
1 A 2  3 
2 A 3  1 
3 B 3  2 
0

Sie könnten auch fallen duplizierten Zeilen:

In [4]: df.shape[0] 
Out[4]: 8 

In [5]: df.drop_duplicates().shape[0] 
Out[5]: 4 
Verwandte Themen