#python #classification #data-science
#python #классификация #наука о данных
Вопрос:
У меня есть набор данных, в котором есть столбец, содержащий два разных текста (PAIDOFF, COLLECTION), и я хочу преобразовать его в двоичные значения, поэтому я попробовал следующее:
y = df['loan_status'].values
y[0:5]
Вывод:
array(['PAIDOFF', 'PAIDOFF', 'PAIDOFF', 'PAIDOFF', 'PAIDOFF'],
dtype=object)
После определения целевого столбца попытался преобразовать его в двоичные значения:
#Convert y to binary values
le_loan_status=preprocessing.LabelEncoder()
le_loan_status.fit(['PAIDOFF','COLLECTION'])
y[:,0]= le_loan_status.transform(y[:,0])
Вывод:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-10-917e44b54b88> in <module>
2 le_loan_status=preprocessing.LabelEncoder()
3 le_loan_status.fit(['PAIDOFF','COLLECTION'])
----> 4 y[:,0]= le_loan_status.transform(y[:,0])
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
Есть ли у вас какие-либо идеи по решению этой проблемы?
Комментарии:
1. pd.get_dummies(df[«loan_status»],drop_first=True) ?
2. сработало как по волшебству. спасибо за быструю помощь
3. я попробовал это в другом проекте, но на этот раз я получаю следующее: ‘IndexError: допустимы только целые числа, срезы’ ‘(
:
), многоточие (...
), numpy.newaxis (None
) и целочисленные или логические массивы ‘ ‘индексы’4. покажите скриншот вашего кода по основному вопросу
5. мой плохой, забыл изменить имена массивов. еще раз спасибо. Если вы добавите его в качестве решения, я могу его одобрить
Ответ №1:
Преобразование в манекены
dummies = pd.get_dummies(df["loan_status"],drop_first=True)
new_data = pd.concat([df,dummies],axis=1)