【问题标题】:Converting dtype=object to binary values将 dtype=object 转换为二进制值
【发布时间】:2020-11-24 21:37:33
【问题描述】:

我有一个数据集,其中有一列包含两个不同的文本(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

你有什么办法解决这个问题吗?

【问题讨论】:

  • pd.get_dummies(df["loan_status"],drop_first=True) ?
  • 就像一个魅力。感谢您的快速帮助
  • 我在另一个项目中尝试过,但这次我得到了:'IndexError: only integers, slices''(:), ellipsis (...), numpy.newaxis (None ) 和整数或布尔数组是有效的''indices'
  • 在主要问题上显示您的代码截图
  • 我的错,忘记更改数组名称。再次感谢。如果您将其添加为解决方案,我可以批准它

标签: python classification data-science


【解决方案1】:

转换为假人

dummies = pd.get_dummies(df["loan_status"],drop_first=True) 

new_data = pd.concat([df,dummies],axis=1)

Docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 2018-07-04
    • 2017-07-15
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多