Python 筛选DataFrame中缺失值的百分比

Python 筛选DataFrame中缺失值的百分比,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个Pandas数据框,其中有许多缺失的值,它们由np.nan表示。我希望能够返回数据帧中缺少80%以上值的行 到目前为止,我尝试了以下方法: data.loc[lambda x: (len(x.isna()) / len(x.columns)) > .8] 但传递lambda函数时,loc显然不是这样工作的。我对此的解释是,Pandas只是在每一行上运行一个循环并应用函数,期望得到一个True或False值,以分别指示保留或放弃该行。本质上是一个过滤函数 是否有一种方法可以实现我想

我有一个Pandas数据框,其中有许多缺失的值,它们由
np.nan
表示。我希望能够返回数据帧中缺少80%以上值的行

到目前为止,我尝试了以下方法:

data.loc[lambda x: (len(x.isna()) / len(x.columns)) > .8]
但传递lambda函数时,
loc
显然不是这样工作的。我对此的解释是,Pandas只是在每一行上运行一个循环并应用函数,期望得到一个
True
False
值,以分别指示保留或放弃该行。本质上是一个过滤函数


是否有一种方法可以实现我想要的,或者我应该求助于普通python?

使用
dropna
thresh
(thresh:需要很多非NA值。)

更新:

df[(df.isna().sum(1)/df.shape[1]).gt(0.8)]

非常感谢。这肯定会对我以后打算做的事情有所帮助,但是这与我最初想要的正好相反。我想显示至少有80%的数据丢失的行,而这显示了至少有80%的数据存在的行。因此,我更感兴趣的是
df.dropna(thresh=len(df.columns)*0.2)
@tomasbasham ok,我将更新ePerfect。多谢各位
df[(df.isna().sum(1)/df.shape[1]).gt(0.8)]