我正在使用熊猫,我有一个包含 20 列和 65 行的数据集。我要做的是尝试衡量数据的完整性。所以,我想检查 NaN 值与整个数据集相比的百分比。例如,我需要的输出是:数据集中NaN的百分比是:40%
我通过执行以下操作计算了 NaN 的数量: comp_df.isna().sum().sum()并得到了776的结果。但是,我不知道下一步该怎么做。
利用:
comp_df = pd.DataFrame(dict(a=[np.nan,1,1],
b=[np.nan,np.nan,np.nan]))
print (comp_df)
a b
0 NaN NaN
1 1.0 NaN
2 1.0 NaN
在您的解决方案中,可以除以DataFrame.size所有值的数量:
print (comp_df.isna().sum().sum() / comp_df.size * 100)
66.66666666666666
或将值重塑为Series、 byDataFrame.stack和 use mean,sum/count定义是什么:
print (comp_df.isna().stack().mean() * 100)
66.66666666666666