Преобразование dtype=object в двоичные значения

#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)

 

Документы