我正在清理信用卡数据以进行风险建模。
我试图用python中的级别更改信用卡列,但是没有用。可以从以下链接下载数据。 Data
我想将checking_balance
,saving_balance
和employment duration
的值更改为0、1、2、3 ...等级别。
以下代码显示了我对saving_balance
列的试用。
credit['savings_balance'].unique()
credit["saving_balance"] = credit["saving_balance"].map(
{"unknown":0,"< 100 DM": 1,
"< 100 DM": 2, "100 - 500 DM":3,
"500 -1000 DM": 4,"> 1000 DM": 5"})
弹出以下错误消息。
File "<ipython-input-19-b70881164cf7>", line 3
credit["saving_balance"] = credit["saving_balance"].map(...)
^
SyntaxError: EOL while scanning string literal
答案 0 :(得分:1)
以防您想使用sklearn。看看LabelEncoder
代码
from sklearn.preprocessing import LabelEncoder
data = np.array(["unknown", "unknown", "< 100 DM"])
# Label Encoder
label = LabelEncoder()
label.fit_transform(data)
# Output
array([1, 1, 0])
# Inverse transform
label.inverse_transform(np.array([0, 0, 1]))
# Output
array(['< 100 DM', '< 100 DM', 'unknown'], dtype='<U8')