【发布时间】:2019-12-08 07:39:25
【问题描述】:
我有一个名为x 的变量,其最小值为零,最大值为200 万。所以我把值分成这样的代码:
bins = [0,1,10000,20000,50000,60000,70000,100000,2000000]
df_input['X_bins'] = pd.cut(df_input['X'], bins,right=False)
目前我正在使用 for-loop 将每个 bin 替换为它们的证据权重值:
def flag_dfstd(df_input):
if (df_input['X'] >=0) & (df_input['X'] <100) :
return '-0.157688'
elif (df_input['X'] >=100) & (df_input['X'] < 10000) :
return '-0.083307'
elif (df_input['X'] >=10000) & (df_input['X'] < 20000) :
return '0.381819'
elif (df_input['X'] >=20000) & (df_input['X'] < 50000):
return '0.364365'
else:
return '0'
df_input['X_WOE'] = df_input.apply(flag_dfstd, axis = 1).astype(str)
有没有办法可以在不使用 for 循环的情况下替换证据权重?
【问题讨论】:
-
有没有办法可以在不使用 for 循环的情况下替换证据的权重
标签: python pandas machine-learning