Intentando encontrar los pandas equivalentes para el siguiente SQL:

SELECT KnownSince, COUNT(1)
FROM mytable
GROUP BY KnownSince

Ya he probado:

aux.groupby(['KnownSince'])['KnownSince'].agg(['count']),  
aux.groupby(['KnownSince']).agg(['count']),  
aux['KnownSince'].groupby(['KnownSince']).agg(['count']),  
aux['KnownSince'].groupby().agg(['count'])

Pero no logró el resultado esperado.

P.S: KnownSince es un número en el formato AAAAMM y no un objeto de fecha y hora.

-1
Leonardo 27 feb. 2020 a las 00:13

2 respuestas

La mejor respuesta

Es size:

df.groupby('KnownSince', as_index=False).size()

O llamada agg:

df.groupby('KnownSince').agg(count=('KnownSince','count')).reset_index()
2
Quang Hoang 26 feb. 2020 a las 21:17

En pandas, función incorporada value_counts

df['KnownSince'].value_counts()
1
YOBEN_S 26 feb. 2020 a las 21:46