python 分类变量转为哑变量_Python中的虚拟变量(dummyvariables)

虚拟变量(dummy variables)

虚拟变量,也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响。

① 离散特征的取值之间有大小的意义

例如:尺寸(L、XL、XXL)

离散特征的取值有大小意义的处理函数map

pandas.Series.map(dict)

参数 dict:映射的字典

② 离散特征的取值之间没有大小的意义

pandas.get_dummies

例如:颜色(Red,Blue,Green)

处理函数:

get_dummies(data,prefix=None,prefix_sep="_",dummy_na=False,columns=None,drop_first=False)

① data 要处理的DataFrame

② prefix 列名的前缀,在多个列有相同的离散项时候使用

③ prefix_sep 前缀和离散值的分隔符,默认为下划线,默认即可

④ dummy_na 是否把NA值,作为一个离散值进行处理,默认为不处理

⑤ columns 要处理的列名,如果不指定该列,那么默认处理所有列

⑥ drop_first 是否从备选项中删除第一个,建模的时候为避免共线性使用# -*- coding: utf-8 -*-

import pandas

data = pandas.read_csv(

'D:\PDA\4.18\data.csv',

encoding='utf8'

)

data['Education Level'].drop_duplicates()

"""

博士后 Post-Doc

博士 Doctorate

硕士 Master's Degree

学士 Bachelor's Degree

副学士 Associate's Degree

专业院校 Some College

职业学校 Trade School

高中 High School

小学 Grade School

"""

educationLevelDict = {

'Post-Doc': 9,

'Doctorate': 8,

'Master's Degree': 7,

'Bachelor's Degree': 6,

'Associate's Degree': 5,

'Some College': 4,

'Trade School': 3,

'High School': 2,

'Grade School': 1

}

data['Education Level Map'] = data[

'Education Level'

].map(

educationLevelDict

)

data['Gender'].drop_duplicates()

dummies = pandas.get_dummies(

data,

columns=['Gender'],

prefix=['Gender'],

prefix_sep="_",

dummy_na=False,

drop_first=False

)

dummies['Gender'] = data['Gender']

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值