gpt4 book ai didi

python - 如何遍历 Pandas 数据框,并应用阈值函数来删除 x% 为空的列?

转载 作者:行者123 更新时间:2023-12-04 07:56:54 25 4
gpt4 key购买 nike

我试图根据它们包含的 NaN 值的数量删除列。默认阈值为 0.5,但应该可以更改。
到目前为止,我想出的代码如下:

def drop_cols_na(df, threshold=0.5):
for column in df.columns:
if df[column].isna().sum() / df.shape[0] >= threshold:
df.drop([column], axis=1, inplace=True)
return df
代码运行良好,但没有任何效果并且不会删除任何列。任何建议将不胜感激!谢谢

最佳答案

此函数删除具有 None 的列值超过指定阈值。

sample_df = pd.DataFrame({'A':[2,3,None, 4,None], 'B':[2,13,None, None,None], 'C':[None,3,None, 4,None]})

def drop_cols_na(df, threshold = 0.5):
df1 = df.copy()
for i, col in df.iteritems():
if((sum(col.isna())/len(col)) >= threshold):
df1.drop(labels = i, axis = 1, inplace = True)
return(df1)

# call the function with whatever threshold
drop_cols_na(sample_df, 0.5)

关于python - 如何遍历 Pandas 数据框,并应用阈值函数来删除 x% 为空的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66658493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com