14 python虚拟变量的数据量化处理

  • Post author:
  • Post category:python


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="_"
        )



版权声明:本文为qq_36327687原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。