Изменение определенных значений столбца на факторы или уровни для моделирования склеарна - PullRequest
1 голос
/ 15 мая 2019

Я очищаю данные кредитной карты для моделирования рисков.

Я пытался изменить столбец кредитной карты с уровнями в python, но это не сработало. Данные можно скачать по следующей ссылке. Данные

Я хочу изменить значения 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

1 Ответ

1 голос
/ 20 мая 2019

Включите ваше желание использовать 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')
...