虚拟变量
虚拟变量,也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响
√ 离散特征的取值之间有大小的意义
例如:尺寸(L、XL、XXL)
√ 离散特征的取值之间没有大小的意义
例如:颜色(Red、Blue、Green)
□ pandas.Series.map(dict)
离散特征的取值之间有大小意义的处理函数
dict ——————→ 映射的字典
□ pandas.get_dummies(data, prefix=None, profix_sep="_",
dummy_na=False, columns=None, drop_first=False)
离散特征的取值之间没有大小的意义的处理函数
1、data 要处理的DataFrame
2、prefix 列名的前缀,在多个列相同的离散项时候使用
3、prefix_sep 前缀和离散值的分隔符,默认为下划线,默认即可
4、dummp_na 是否把NA值,作为一个离散值进行处理,
5、columns 要处理的列名,如果不指定该列,则默认处理所有列
6、drop_first 是否从备选项中删第一个,建模的时候为避免共性使用
1 import pandas 2 data=pandas.read_csv( 3 "D://Python//爱数圈书籍//Python3组第五期学习//Python数据分析实战课程课件//4.18//data.csv", 4 encoding="utf8") 5 6 data["Education Level"].drop_duplicates() 7 8 """ 9 0 Doctorate 10 3 Bachelor's Degree 11 6 Master's Degree 12 20 Associate's Degree 13 35 Some College 14 102 Post-Doc 15 111 Trade School 16 157 High School 17 187 Grade School 18 19 """ 20 21 #按照学历的高低进行打分 22 educationLevelDict={ 23 "Doctorate":9, 24 "Bachelor's Degree":8, 25 "Master's Degree":7, 26 " Associate's Degree":6, 27 "Some College":5, 28 "Post-Doc":4, 29 "Trade School":3, 30 "High School":2, 31 "Grade School":1} 32 33 pandas.Series.map(educationLevelDict) 34 35 data["Education Level Map"]=data[ 36 "Education Level"].map(educationLevelDict) 37 38 39 40 data["Gender"].drop_duplicates() 41 42 dummies=pandas.get_dummies( 43 data, 44 prefix=["Gender"], 45 prefix_sep="_", 46 columns=["Gender"], 47 drop_first=False) 48 49 dummies["Gender"]=data["Gender"]