Must pass DataFrame with boolean values only

(CSDN是SB,保存文章就给我保存个标题,你麻麻没了,CSDN)

同时还有这样一个错误,经常与标题同时出现:

KeyError: "None of [Int64Index([1,,\n dtype='int64', length=22919547)] are in the [columns]"

老样子,先说过程

1,错误代码:

错误代码如下:

dataset=pd.get_dummies(dataset,columns=dataset[['用户性别','用户职业','用户教育程度','用户婚姻状态','用户户口类型']]).drop(['标签'],axis=1)

2,分段处理查看数据,结果如下:

3,此时将代码更改如下会出现第二种报错

代码:

dataset=pd.get_dummies(dataset,columns=dataset['用户性别']).drop(['标签'],axis=1)

报错:

KeyError: "None of [Int64Index([1,,\n dtype='int64', length=22919547)] are in the [columns]"

4,不得已换个方式,代码如下:

# 选取我们所需要的列名
column = ['用户性别','用户职业','用户教育程度','用户婚姻状态','用户户口类型']
# 一个一个的进行处理,并连接到数据集的后面
for i in column:
    x =pd.get_dummies(dataset[i],prefix= i)
    dataset=pd.concat([dataset,x],axis=1)
# 显示转换后的数据
#dataset.head()

结果:

与所需结果一样,虽然不知道咋错了,解决了就万事大吉了

参考文献:(6条消息) 快速进行OneHot编码——get_dummies()函数_寂ღ᭄秋࿐的博客-CSDN博客_getdummies函数作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值