For循环根据空值删除列

时间:2020-02-19 02:42:04

标签: python python-3.x pandas dataframe

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

1 个答案:

答案 0 :(得分:1)

您可以使用boolean索引。用mean检查每列中空值的百分比。由于如果列不符合条件,将返回false,因此不会列出这些列。

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