快速进行OneHot编码——get_dummies()函数

当我们的数据中出现的离散的类别信息时,我们通常将其转化为onehot编码形式,以便于对于我们的模型能有更好的效果。

此处主要介绍的是pandas库中的一个函数——get_dummies(),它能直接将我们需要转换的列直接进行转换,下面来具体介绍:

1.参数说明

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False)

data:array-like, Series, or DataFrame

用来获得虚拟指标的数据。

prefix:str, list of str, or dict of str, default None

添加DataFrame列名的字符串。在DataFrame上调用get_dummies函数时,传递一个长度等于列数的列表。或者,前缀可以是一个将列名映射到前缀的字典。

prefix_sep:str, default ‘_’

如果附加前缀,分隔符/分隔符使用。或者像前缀一样传递列表或字典。

dummy_na:bool, default False

如果忽略False NaNs,则添加一列来指示 NaNs。

columns:list-like, default None

要编码的DataFrame中的列名。如果columns为None,那么所有具有对象或类别dtype的列将被转换。

sparse:bool, default False

伪编码列是否应该由(True)或常规NumPy数组支持(False)

drop_first:bool, default False

是否通过删除第一个级别将k-1个假人从k个分类级别中移除。

dtype:dtype, default  np.uint8

新列的数据类型。只允许一个dtype。

Returns       DataFrame 

                        Dummy-coded data.

以上对参数的解释均来自padnas官方文档

2.实例代码说明 

数据集如下:

 可以看到里面的season、holiday、workingday、weather都为离散的数据,故在此处进行OneHot编码:

# 选取我们所需要的列名
column = ['season','holiday','workingday','weather']
# 一个一个的进行处理,并连接到数据集的后面
for i in column:
    x =pd.get_dummies(data[i],prefix= i)
    data=pd.concat([data,x],axis=1)
# 显示转换后的数据
data.head()

运行结果:

 (此处我并未将转换前的数据进行删除)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值