python get dummies_python中的get_dummies实战
版权声明:欢迎去我的新家https://www.jianshu.com/u/906a78709f1d https://blog.csdn.net/dongyanwen6036/article/details/78555163
一、实践
离散特征的编码分为两种情况:
1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码
2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的映射{X:1,XL:2,XXL:3}说明:对于有大小意义的离散特征,直接使用映射就可以了,{'XL':3,'L':2,'M':1}
使用pandas可以很方便的对离散型特征进行one-hot编码
#-*-coding=utf-8-*-
import pandas as pd
df = pd.DataFrame([
['green', 'M', 10.1, 'class1'],
['red', 'L', 13.5, 'class2'],
['blue', 'XL', 15.3, 'class1']])
df.columns = ['color', 'size', 'prize', 'class label']
size_mapping = {
'XL': 3,
'L': 2,
'M': 1}
df['size'] = df['size'].map(size_mapping)
class_mapping = {label:idx for idx,label in enumerate(set(df['class label']))}
df['class label'] = df['class label'].map(class_mapping)
print('----------------------------------------------------------------')
print(df)
print('----------------------------------------------------------------')
df=pd.get_dummies(df)
print(df)
print('----------------------------------------------------------------')
使用get_dummies进行one-hot编码,独热码应用前后注意color列的变化结果如下
二、实践
最后难免要变稀疏矩阵
>>> import pandas as pd
>>> s = pd.Series(list('abca'))
>>> pd.get_dummies(s)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
>>> s1 = ['a', 'b', np.nan]
>>> pd.get_dummies(s1)
a b
0 1 0
1 0 1
2 0 0
>>> pd.get_dummies(s1, dummy_na=True)
a b NaN
0 1 0 0
1 0 1 0
2 0 0 1
下面这个有意思,直接C不参加,因为prefix写明了A和B参加one-hot编码。
>>> df = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],
... 'C': [1, 2, 3]})
>>> pd.get_dummies(df, prefix=['col1', 'col2'])
C col1_a col1_b col2_a col2_b col2_c
0 1 1 0 0 1 0
1 2 0 1 1 0 0
2 3 1 0 0 0 1
参考官网
参考
---------------------
作者:Gunther17
来源:CSDN
原文:https://blog.csdn.net/dongyanwen6036/article/details/78555163
版权声明:本文为博主原创文章,转载请附上博文链接!
python get dummies_python中的get_dummies实战相关推荐
- Python在Seaborn中手动指定调色板颜色进行数据可视化颜色自定义实战(Manually Specify Palette Colors in Seaborn)
Python在Seaborn中手动指定调色板颜色进行数据可视化颜色自定义实战(Manually Specify Palette Colors in Seaborn) 目录
- Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战
Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战 目录 Python使用numpy中的hstack函数水平堆叠(horizontally stac ...
- 小猪的Python学习之旅 —— 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中
小猪的Python学习之旅 -- 14.项目实战:抓取豆瓣音乐Top 250数据存到Excel中 标签:Python 一句话概括本文: 利用Excel存储爬到的抓取豆瓣音乐Top 250数据信息,还有 ...
- 编程实战(4)——python识别图像中的坐标点并保存坐标数据
编程实战(4)--python识别图像中的坐标点并保存坐标数据 文章目录 编程实战(4)--python识别图像中的坐标点并保存坐标数据 综述 代码思路 库的安装 图片预处理 图像细化 图像二极化 提 ...
- 《OpenCv视觉之眼》Python图像处理十六:Opencv图像处理实战一之图像中的硬币检测
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- python多元线性回归模型案例_Python 实战多元线性回归模型,附带原理+代码
原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜 来源 | 早起Python( ID:zaoqi-python ) 「多元线性回归模型」非常常见,是大多数人入门机器学习的第一 ...
- python拟合离散数据_Logit模型拟合实战案例(Python)——离散选择模型之六
前言:本文详细介绍如何在Python中拟合Logit模型,包括数据准备.哑变量的处理.参数拟合结果解读等内容. 本文为系列离散选择模型(Discrete Choice Model, DCM)系列文章的 ...
- python运行错误-Python在运行中发生错误怎么正确处理方法,案例详解!
在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返回文件描 ...
- Python 网络爬虫笔记11 -- Scrapy 实战
Python 网络爬虫笔记11 – Scrapy 实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...
最新文章
- 阿里巴巴发布AI养蜂系统
- c语言qt生成dll与加载dll,Qt制作界面的DLL以及调用
- oracle sparc 服务器系统,OracleSPARC服务器基础.PDF
- Flink的状态一致性
- 【redis】 windows 32x 64x
- C# 值类型 引用类型 作为参数传递区别
- 《Arduino开发实战指南:机器人卷》一3.6 编程原理与示例程序
- 何川L3管理课_模块4_成果管理
- vue生命周期心得体会800字
- c语言俄罗斯方块源代码 解说,C语言课程设计俄罗斯方块源代码解说.doc
- port ‘pi_data‘ not found in module ‘dcfifo‘
- spark写出分布式的训练算法_Spark on Angel
- Android App集成支付宝
- iOS模拟器运行报错Unable to install /xxx/build/ios/iphonesimulator/Runner.app
- LTE RB PRB
- 在配有通道的计算机系统中,用户程序需要输出时,引起的中断是,自考计算机系统结构试题_全国2009年7月自考试卷...
- 使用html+css实现一个静态页面(含源码)
- 支付那些事,支付设计遇到的那些坑(一)(聚合支付平台踩过的那些坑)
- 【新浪面试题】如何技高一筹解决查找单链表中的倒数第k个结点
- leetcode 546. 移除盒子 —— 动态规划