Questa è la differenza tra groupby("x").count
e groupby("x").size
in panda?Qual è la differenza tra dimensione e conteggio nei panda?
La dimensione esclude nulla?
Questa è la differenza tra groupby("x").count
e groupby("x").size
in panda?Qual è la differenza tra dimensione e conteggio nei panda?
La dimensione esclude nulla?
size
include NaN
valori, count
non:
In [46]:
df = pd.DataFrame({'a':[0,0,1,2,2,2], 'b':[1,2,3,4,np.NaN,4], 'c':np.random.randn(6)})
df
Out[46]:
a b c
0 0 1 1.067627
1 0 2 0.554691
2 1 3 0.458084
3 2 4 0.426635
4 2 NaN -2.238091
5 2 4 1.256943
In [48]:
print(df.groupby(['a'])['b'].count())
print(df.groupby(['a'])['b'].size())
a
0 2
1 1
2 2
Name: b, dtype: int64
a
0 2
1 1
2 3
dtype: int64
solo per aggiungere un po 'per @ di Edchum risposta, anche se i dati non ha valori NA, il risultato del conteggio() è più prolisso, utilizzando l'esempio prima:
grouped = df.groupby('a')
grouped.count()
Out[197]:
b c
a
0 2 2
1 1 1
2 2 3
grouped.size()
Out[198]:
a
0 2
1 1
2 3
dtype: int64
Sembra che' size' sia un equivalente elegante di 'count' in panda. –
Quando si tratta di quadri di dati normali allora unica differenza sarà un inserimento di valori NAN, significa conteggio non prevede valori NAN contando righe.
Ma se usiamo queste funzioni con il gruppo da allora, per ottenere i risultati corretti per count() dobbiamo associare qualsiasi campo numerico con il gruppo per ottenere il numero esatto di gruppi dove per size() lì non è necessario per questo tipo di associazione.
La documentazione dice che la dimensione "restituisce il numero di elementi nel NDFame" e il conteggio "restituisce Serie con numero di osservazioni non NA/null sull'asse richiesto. Funziona anche con dati senza virgola mobile (rileva NaN e Nessuno) " – Hamsternik