所以我有一個有 2 列的 pandas 資料框:
import numpy as np
data = {'Column_A': [1,2,3,4,5,np.nan,6,7,np.nan,np.nan,8,9,10,np.nan], 'Column_B': [1,2,3,4,5,np.nan,6,7,np.nan,np.nan,8,9,10,11]}
df = pd.DataFrame(data)
我想計算每列的空值和非空值的數量,所以我使用了 df.isnull().sum() 和 df.notnull().sum() ,這給了我所有列的串列每列的 null 和 not null 計數:
df.isnull().sum()
Column_A 4
Column_B 3
df.notnull().sum()
Column_A 10
Column_B 11
我想要做的是將每列的 null 而不是 null 的計數添加到資料框中,并按所有列與稱為列名的原始列進行分組。例如,資料框看起來像這樣:
Column_Names Count_Null Count_NotNull
Column_A 4 10
Column_B 3 11
等等。
我可以分別運行 df.isnull().sum() 和 df.notnull().sum() 以獲得所有列的正確計數。
但是,如何創建一個在行上具有原始列的表,并將兩個指標作為附加列,如上例所示?
uj5u.com熱心網友回復:
我會這樣做:
names = {False: 'Count_NotNull', True: 'Count_Null'}
result = df.isna().apply(pd.Series.value_counts, dropna=False).rename(names).T
編輯 - 或沒有apply:
result = df.isna().sum().rename('Count_Null').to_frame()
result['Count_NotNull'] = len(df) - result['Count_Null']
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428736.html
上一篇:對缺失值使用插值時的問題
