数据处理之虚拟变量分析,虚拟变量法怎么算,虚拟变量分析题
-*-编码:utf-8 -*-
#概念:虚拟变量,也叫哑变量和离散特征码,可以用来表示分类变量和非定量因素对分析可能产生的影响。
#离散特征的值具有大小的意义。例如尺寸(长、大、XXL)
#离散特征值之间的大小没有意义。例如:颜色(红、蓝、绿)、性别
#离散特性值之间具有尺寸显著性的处理函数:
#熊猫。Series.map(字典)
#dict:映射字典
#离散特征值之间无大小意义的处理函数:
#pandas.get_dummies(data,prefix=None,prefix_sep=_ ,dummy_na=False,columns=None,drop_first=False)
#data:要处理的数据帧
#prefix:列名的前缀,当多个列具有相同的离散项时使用。
#prefix_sep:前缀和离散值之间的分隔符,默认为下划线,默认为fine。
#dummy_NA:是否将NA值(空值)视为离散值,默认情况下不处理。
#columns:要处理的列的名称。如果未指定此列,默认情况下将处理所有列。
#drop_first:是否从备选项中删除第一个备选项,该备选项用于建模以避免共线性(共轭)
进口熊猫
data=pandas . read _ CSV( D:/work spaces/python/python study/23 . CSV ,编码=utf8 )
#1.根据教育背景处理数据:
#不同学历有大小的意思,所以用map进行处理。
#从控制台查看数据源中的学历值:
#使用drop_duplicates查看去重后学历一栏的情况:
数据[教育水平]。drop_duplicates()
#整理如下:
博士后
医生医生
硕士学位
学士学位
副学士学位
某学院,某专业学院
职业贸易学校
高中高中
小学
#定义字典:
educationLevelDict={
博士后:9,
博士学位:8,
“硕士学位”:7,
“学士学位”:6,
副学士学位:5,
某大学:4,
贸易学校:3,
高中:2,
“小学”:1
}
数据[教育水平图]=数据[教育水平]。地图(教育水平词典)
#查看数据对象的内容,可以看到添加了列Education Level Map(虚拟变量),该列的值基于我们的字典。
#2.按性别处理数据(ps:暂时不知道这个处理的意义)
#性别没有大小的意思,所以用get_dummies来处理
数据[性别]。drop_duplicates()
dummies=pandas.get_dummies(
数据,
columns=[Gender],
前缀=[性别],
前缀_sep=_ ,
dummy_na=False,
Drop_first=False #保留所有属性值
)
假人[性别]=数据[性别]