私は本当に大きな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
count()
メソッドは、各列の非NaN
値の数を返します。
>>> df1.count()
a 3
b 2
d 1
dtype: int64
同様に、count(axis=1)
は、各行の非NaN
値の数を返します。