簡體   English   中英

計算 Dataframe 每一列中非 NaN 條目的數量

[英]Count number of non-NaN entries in every column of Dataframe

我有一個非常大的 DataFrame,我想知道是否有短的(一個或兩個班輪)方法來獲取 DataFrame 中非 NaN 條目的數量。 我不想一次做一列,因為我有近 1000 列。

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值的數量。

如果要對非 NAN 的總計數值求和,可以這樣做;

np.sum(df.count())

如果您正在處理空字符串,您可能還想將它們算作 NA :

df.replace('', np.nan).count()

或者如果您還想刪除空白字符串:

df.replace(r'^\s*$', np.nan, regex=True).count()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM