2015-04-22 13 views
5

Mam dataframe „GT” tak:Python pandy: Dodaj kolumnę do mojego dataframe że liczy zmienny

org  group 
org1  1 
org2  1 
org3  2 
org4  3 
org5  3 
org6  3 

i chciałbym dodać kolumny „count” GT dataframe się liczy członka numer grup, spodziewane wyniki, takie jak ten:

org  group count 
org1  1  2 
org2  1  2 
org3  2  1 
org4  3  3 
org5  3  3 
org6  3  3 

wiem jak to zrobić na jednej pozycji w grupie, ale nie wiem jak zrobić licznik powtarzany dla wszystkich elementów grupy, oto kod Użyłem:

gtcounts = gt.groupby('group').count() 

Czy ktoś może pomóc?

Odpowiedz

13

połączeń transform to zwróci Series wyrównany z oryginalnym DF:

In [223]: 

df['count'] = df.groupby('group')['group'].transform('count') 
df 
Out[223]: 
    org group count 
0 org1  1  2 
1 org2  1  2 
2 org3  2  1 
3 org4  3  3 
4 org5  3  3 
5 org6  3  3 
+0

Próbowałem to i ja otrzymuję ten błąd: ValueError: Niewłaściwy Kasa osiągnięty 2, rozmieszczenie implikuje 1 – UserYmY

+0

Cóż mam zauważyłem, że odpowiedź powinna być prawidłowa: df ['count'] = df.groupby ('group') ['group']. transform ('count'). Dziękuję za pomoc. – UserYmY

+0

Które wersje Pandy używasz? Mój jest "0.16.0", ale tak, spodziewam się, że jeśli wyraźnie wybierzesz kolumnę, to zawsze będzie działać – EdChum

Powiązane problemy