为什么"for循环“对第一个变量有效,而对其他变量不起作用?我已经尝试了下面针对异常值的python代码:
def outliers(features, df):
for i in features:
Q1=df[i].quantile(0.25)
Q3=df[i].quantile(0.75)
IQR=Q3-Q1
upper=Q3+(1.5*IQR)
lower=Q1-(1.5*IQR)
df.loc[(df[i]>upper),i] = upper
df.loc[(df[i]<lower),i] = lower
return i
outliers(['Infant_Deaths','Hepatitis', 'Measles', 'Underfive_Deaths', 'Polio', 'Diphtheria',
'HIV', 'GDP', 'Population','Malnourished10_19','Malnourished5_9', 'Income_Index', 'Schooling'], df)发布于 2022-09-21 19:18:59
从for循环中删除return语句。return将导致您退出函数(以及for循环)!
def outliers(features, df):
for i in features:
Q1=df[i].quantile(0.25)
Q3=df[i].quantile(0.75)
IQR=Q3-Q1
upper=Q3+(1.5IQR)
lower=Q1-(1.5IQR)
df.loc[(df[i]>upper),i] = upper
df.loc[(df[i]<lower),i] = lower
outliers(['Infant_Deaths','Hepatitis', 'Measles', 'Underfive_Deaths', 'Polio', 'Diphtheria', 'HIV', 'GDP', 'Population','Malnourished10_19','Malnourished5_9', 'Income_Index', 'Schooling'], df)https://stackoverflow.com/questions/73805873
复制相似问题