pd.get_dummies,pandas中getget_dummies的用法,python中处理离散值的方法,将文字特征转换成数字特征的方法

需要用到pandas这个包,调用请提前下载

这个就是用独热编码来替换离散值特征。

例如,“MSZoning”包含值“RL”和“Rm”我们将创建两个新的指示器特征“MSZoning_RL”和“MSZoning_RM”,其值为0或1。根据独热编码,如果“MSZoning”的原始值为“RL”,则:“MSZoning_RL”为1,“MSZoning_RM”为0。

首先假如一个数据集有六个样本,每个样本两种特征,数据保存在‘111.csv’中,其中feature1是文字特征,分别为“bak” “bif” “nig”,feature2是数字特征

直接上代码,演示其使用方法及作用

import pandas as pd

all_features = pd.read_csv('111.csv')
all_features = pd.get_dummies(all_features)
print(all_features)

从输出中可见,get_dummies函数直接将feature1的特征拆分成了3个特征,分别为feature1_bak、 feature1_bif、 feature1_nig,并将其对应项的特征值设为1,没有的设为0

函数中还有一个参数是dummy_na,其作用是:是否将“na”(缺失值)视为有效的特征值,并为其创建指示符特征。

dummy_na = false,就是不将“na”视为有效特征值,等于true就是将“na”视为一个特征值,并为其建立指示符特征。

以222.csv为例

all_features1 = pd.read_csv('222.csv')
all_features1 = pd.get_dummies(all_features, dummy_na=False)
print(all_features)

输出:并没有将nan作为一个特征值来看待,直接将其忽略

all_features1 = pd.get_dummies(all_features1, dummy_na=True)
print(all_features1)

输出: 将nan当作一种特征值,并为其建立feature1_nan特征

 

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值