我有一个包含许多变量的记分卡,我正在尝试使用python计算它的分数
这是我的记分卡寻找一个变量的方式:
Bins score
missing 2
[-Inf,20) 2
[20,40) 0
[40,140) -1
[140, Inf) -2
以下是我的数据如何查找该变量:
ID_num Quick_Ratio
273N 61.53
280G 34.39
119D 0.00
080R 168.91
177K 53.97
204N 110.80
1902R 0.00
2035H NaN
035G 58.74
3479Z 182.13
这就是我现在正在做的:
#bin the columns first
cut_labels = ['[-Inf,20)', '[20,40)', '[40,140)', '[140,inf)']
cut_bins = [-np.inf,20, 40, 140, np.inf]
df['quick_ratio_bin']= pd.cut(df['Quick_Ratio'], bins=cut_bins, labels=cut_labels, include_lowest=True)
df['quick_ratio_bin']=(df['quick_ratio_bin'].cat.add_categories('missing').fillna('missing'))
df.loc[df['quick_ratio_bin'] == 'missing', 'quick_ratio_s'] = 2
df.loc[df['quick_ratio_bin'] == '[-Inf,20)', 'quick_ratio_s'] = 2
df.loc[df['quick_ratio_bin'] == '[20,40)', 'quick_ratio_s'] = 0
df.loc[df['quick_ratio_bin'] == '[40,140)', 'quick_ratio_s'] = -1
df.loc[df['quick_ratio_bin'] == '[140,inf)', 'quick_ratio_s'] = -2
有更好的方法吗
相关问题 更多 >
编程相关推荐