web-dev-qa-db-ja.com

Dataframeのすべての列の非NaNエントリの数をカウントします

私は本当に大きなDataFrameを持っているので、DataFrame内の非NaNエントリの数を取得するための短い(1つまたは2つのライナー)方法があるかどうか疑問に思っていました。 1000列近くあるため、一度に1列ずつ実行するのは望ましくありません。

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

出力:

a: 3
b: 2
d: 1
52
cryp

count() メソッドは、各列の非NaN値の数を返します。

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

同様に、count(axis=1)は、各行の非NaN値の数を返します。

89
Alex Riley