web-dev-qa-db-fra.com

Compter le nombre d'entrées non-NaN dans chaque colonne de Dataframe

J'ai un très gros DataFrame et je me demandais s'il y avait un moyen court (un ou deux doublons) d'obtenir le nombre d'entrées non-NaN dans un DataFrame. Je ne veux pas faire cette colonne à la fois car j'ai près de 1000 colonnes.

df1 = pd.DataFrame([(1,2,None),(None,4,None),(5,None,7),(5,None,None)], 
                    columns=['a','b','d'], index = ['A', 'B','C','D'])

    a   b   d
A   1   2 NaN
B NaN   4 NaN
C   5 NaN   7
D   5 NaN NaN

Sortie:

a: 3
b: 2
d: 1
52
cryp

La méthode count() renvoie le nombre de valeurs non -NaN dans chaque colonne:

>>> df1.count()
a    3
b    2
d    1
dtype: int64

De même, count(axis=1) renvoie le nombre de valeurs non -NaN dans chaque ligne.

89
Alex Riley