1 虚拟变量
也叫作哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响
2 category数据类型
category是pandas的一种数据类型,对应着被通缉的变量。Categoricals是由固定且有限数量的变量组成的,比如:性别、社会阶层、血型、国籍、观察时段、赞美程度。
与其它被统计的变量相比,categorical 类型的数据可以具有特定的顺序——比如:按程度来设定,“强烈同意”与“同意”,“首次观察”与“二次观察”,但是不能做按数值来进行排序操作(比如:sort_by 之类的,换句话说,categorical 的顺序是创建时手工设定的,是静态的)
3 get_dummies()
pandas.get_dummies(data,prefix = None,prefix_sep =’_’,dummy_na = False,columns = None,sparse = False,drop_first = False,dtype = None )
data : array-like,Series或DataFrame
prefix:string,字符串列表或字符串dict,默认为None ,用于追加DataFrame列名的字符串。在DataFrame上调用get_dummies时,传递一个长度等于列数的列表。或者,前缀 可以是将列名称映射到前缀的字典。
prefix_sep:string,默认为’_’
如果附加前缀,分隔符/分隔符要使用。或者像前缀一样传递列表或字典。
dummy_na:bool,默认为False
如果忽略False NaN,则添加一列以指示NaN。
列:类似列表,默认无
要编码的DataFrame中的列名称。如果列是None,那么所有与列 对象或类别 D型细胞将被转换。
稀疏:bool,默认为False
虚拟列是否应该稀疏。如果数据是Series或者包含所有列,则返回SparseDataFrame 。否则返回带有一些SparseBlocks的DataFrame。
drop_first:bool,默认为False
是否通过删除第一级别从k分类级别获得k-1个假人。
版本0.18.0中的新功能。
D型:D型,默认np.uint8
新列的数据类型。只允许一个dtype。
版本0.23.0中的新功能。
4 代码案例
import pandas
data=pandas.read_csv('D:\\DATA\\pycase\\number2\\6.1\\data2.csv')
data['症状']=data['症状'].astype('category')
dummiesDate=pandas.get_dummies(
data,
columns=['症状'],
prefix=['症状'],
prefix_sep="_"
)
newdata=pandas.read_csv('D:\\DATA\\pycase\\number2\\6.1\\data2new.csv')
# 把已有的属性标签贴到现在表里
newdata['症状']=data['症状'].astype(
'category',
categories=data['症状'].cat.categories
)
dummiesnewDate=pandas.get_dummies(
newdata,
columns=['症状'],
prefix=['症状'],
prefix_sep="_"
)