我想计算数据帧中非空值的平均百分比:
我这样尝试:
df_op.notnull()。sum()
但是我得到了每个变量的列表,这些变量的总和为非空值。
您能帮我计算非空值的平均百分比吗?等于非空值之和除以总值。
谢谢
答案 0 :(得分:0)
您可以尝试以下操作:
示例:
df=pd.DataFrame({'val':[1,2,3,4,5,6,np.nan,7]})
print(df)
# average percentage of non null
print(df.val.sum()/len(df.val))
输出:
val
0 1.0
1 2.0
2 3.0
3 4.0
4 5.0
5 6.0
6 NaN
7 7.0
3.5
希望这可以为您提供帮助:)
答案 1 :(得分:0)
这取决于您是否要为整个df提供非空值,然后:
notnulls = sum([len(df_op[df_op[col].notnull()]) for col in df_op.columns]) / sum([len(df_op) for col in df_op.columns])
如果您希望每列都不为空,则
for col in df_op.columns:
notnulls = len(df_op[df_op[col].notnull()]) / len(df_op)
```