首页 > 解决方案 > For循环根据空值删除列

问题描述

您好,我有一个名为 lc 的数据框。并且数据框的形状是 (235607,146) 我能够编写一个代码来显示每列中空值的百分比 ( np.sum(lc.isnull())/lc.shape[0]*100)。现在我需要帮助来编写一个 for 循环来删除所有空值大于 70% 的列

标签: pythonpython-3.xpandasdataframe

解决方案


您可以使用boolean索引。用于mean检查每列中空值的百分比。不符合条件的列false将被退回,它们不会被列入清单。

import numpy as np
df.loc[:,df.isin([0,' ',np.nan,None]).mean()<0.7]

推荐阅读