在缺失值的数量上循环删除列

Posted

技术标签:

【中文标题】在缺失值的数量上循环删除列【英文标题】:loop drop columns over number of missing values 【发布时间】:2019-04-19 05:55:09 【问题描述】:

我正在尝试创建一个循环来创建一个循环,以帮助我删除任何具有一定数量缺失值的列。有人可以帮我吗?

for col in df:

"""Delete columns with over 200 missing values"""

if df[col].isnull().sum() > 200:
    pd.DataFrame.drop(col)

【问题讨论】:

dropping infinite values from dataframes in pandas?的可能重复 【参考方案1】:
for col in df:
    if df[col].isnull().sum() > 200:
        df=df.drop(col)

不要从pd.DataFrame 中删除,而是从df 中删除,并且也可以将其分配回去。

甚至更好:

df=df.dropna(thresh=len(df)-200,axis=1)

【讨论】:

@FMmach 记得接受它是否有效 :-),乐于提供帮助,??? 很好 :) +1 使用 thresh 参数 @jpp 谢谢 :-),我也喜欢 thresh 参数。

以上是关于在缺失值的数量上循环删除列的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(自定义堆叠条形图的形式)

pandas使用dropna函数删除dataframe中列缺失值的个数大于某一比例阈值的数据列

计算数据帧 Spark 中缺失值的数量

缺失值处理

在缺失值的数量上循环删除列

数据处理