1

我正在使用熊猫,我有一个包含 20 列和 65 行的数据集。我要做的是尝试衡量数据的完整性。所以,我想检查 NaN 值与整个数据集相比的百分比。例如,我需要的输出是:数据集中NaN的百分比是:40%

我通过执行以下操作计算了 NaN 的数量: comp_df.isna().sum().sum()并得到了776的结果。但是,我不知道下一步该怎么做。

4

1 回答 1

2

利用:

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 meansum/count定义是什么:

print (comp_df.isna().stack().mean() * 100)
66.66666666666666
于 2020-04-19T10:20:59.637 回答