pandas.get_dummies (独热编码)详解

1、pandas.get_dummies使用场景

        在对变量进行独热编码时使用,例如:某一列类别型变量是季节,取值为春、夏、秋、冬,当我们对其进行建模时,需要将其进行独热编码,这时:pandas.get_dummies便派上了用场。
在这里插入图片描述

2、参数详解
  • data : array-like, Series, or DataFrame 输入的数据
  • prefix : string, get_dummies转换后,列名的前缀,默认为None
  • columns : 指定需要实现类别转换的列名 否则转换所有类别性的列
  • dummy_na : bool, default False 增加一列表示空缺值,如果False就忽略空缺值
  • drop_first : bool, default False 获得k中的k-1个类别值,去除第一个,防止出现多重共线性
3、注意小陷阱呀

        若针对训练数据已经做好了独热编码并建立了模型,而新增的预测数据或分类数据的类别变量未包含完整的类别。此时直接使用pd.get_dummies,会发现与训练集得到的结果不一样。例如:训练数据中季节列中春、夏、秋、冬都出现过,而在新的测试数据中只出现了春与夏,两者的结果会不一样。如下:
在这里插入图片描述
        为了避免出现这个情况,需要新增以下代码:

data['季节'] = data['季节'].astype(
    'category',
    categories=["春", "夏", "秋", "冬"]
)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值