如何计算在pandas数据框中删除的行数



在python中执行以下代码时如何打印删除的行数:

df.dropna(inplace = True)

使用说明:

np.random.seed(2022) 
df = pd.DataFrame(np.random.choice([0,np.nan, 1], size=(10, 3)))
print (df)
0    1    2
0  NaN  0.0  NaN
1  0.0  NaN  NaN
2  0.0  0.0  1.0
3  0.0  0.0  NaN
4  NaN  NaN  1.0
5  1.0  0.0  0.0
6  1.0  0.0  1.0
7  NaN  0.0  1.0
8  1.0  1.0  NaN
9  1.0  0.0  NaN

可以用DataFrame.anysum计算DataFrame.isna之前的缺失值:

count = df.isna().any(axis=1).sum()
df.dropna(inplace = True)
print (df)
0    1    2
2  0.0  0.0  1.0
5  1.0  0.0  0.0
6  1.0  0.0  1.0
print (count)
7

或得到dropna前后数据帧大小的差异:

orig = df.shape[0]
df.dropna(inplace = True)
count = orig - df.shape[0]
print (df)
0    1    2
2  0.0  0.0  1.0
5  1.0  0.0  0.0
6  1.0  0.0  1.0
print (count)
7
# making new data frame with dropped NA values
new_data = data.dropna(axis = 0, how ='any')  
len(new_data)