2017-02-05 5 views
0

Ich habe einen Datensatz wie unten:Frequenzzählung der exakten Reihen

Col1. Col2. Col3.  Col4 
A  123  D   J 
B  234  E   M 
A  234  D   J 

ich eine fünfte Spalte hinzufügen muß, die genau auf nur Spalten col1 col3 und col4 Frequenzzahl von genauen Übereinstimmungen hat.

Erwarteter Ausgang:

Col1. Col2. Col3.  Col4. Col5 
A  123  D   J.  2 
B  234  E   M.  1 
A  234  D   J.  2 

Antwort

1

können Sie groupby verwenden + transform('count'):

In [70]: df['Col5'] = df.groupby(['Col1','Col3'])['Col2'].transform('count') 

In [71]: df 
Out[71]: 
    Col1 Col2 Col3 Col4 Col5 
0 A 123 D J  2 
1 B 234 E M  1 
2 A 234 D J  2 
Verwandte Themen