python数据预处理之将类别数据转换为数值的方法
在进行python数据分析的时候,首先要进行数据预处理。
有时候不得不处理一些非数值类别的数据,嗯, 今天要说的就是面对这些数据该如何处理。
目前了解到的大概有三种方法:
1,通过LabelEncoder来进行快速的转换;
2,通过mapping方式,将类别映射为数值。不过这种方法适用范围有限;
3,通过get_dummies方法来转换。
import pandas as pd
from io import StringIOcsv_data = '''A,B,C,D
1,2,3,4
5,6,,8
0,11,12,'''df = pd.read_csv(StringIO(csv_data))
print(df)
#统计为空的数目
print(df.isnull().sum())
print(df.values)#丢弃空的
print(df.dropna())
print('after', df)
from sklearn.preprocessing import Imputer
# axis=0 列 axis = 1 行
imr = Imputer(missing_values='NaN', strategy='mean', axis=0)
imr.fit(df) # fit 构建得到数据
imputed_data = imr.transform(df.values) #transform 将数据进行填充
print(imputed_data)df = pd.DataFrame([['green', 'M', 10.1, 'class1'],['red', 'L', 13.5, 'class2'],['blue', 'XL', 15.3, 'class1']])
df.columns =['color', 'size', 'price', 'classlabel']
print(df)size_mapping = {'XL':3, 'L':2, 'M':1}
df['size'] = df['size'].map(size_mapping)
print(df)## 遍历Series
for idx, label in enumerate(df['classlabel']):print(idx, label)#1, 利用LabelEncoder类快速编码,但此时对color并不适合,
#看起来,好像是有大小的
from sklearn.preprocessing import LabelEncoder
class_le = LabelEncoder()
color_le = LabelEncoder()
df['classlabel'] = class_le.fit_transform(df['classlabel'].values)
#df['color'] = color_le.fit_transform(df['color'].values)
print(df)#2, 映射字典将类标转换为整数
import numpy as np
class_mapping = {label: idx for idx, label in enumerate(np.unique(df['classlabel']))}
df['classlabel'] = df['classlabel'].map(class_mapping)
print('2,', df)#3,处理1不适用的
#利用创建一个新的虚拟特征
from sklearn.preprocessing import OneHotEncoder
pf = pd.get_dummies(df[['color']])
df = pd.concat([df, pf], axis=1)
df.drop(['color'], axis=1, inplace=True)
print(df)
python数据预处理之将类别数据转换为数值的方法相关推荐
- 【Python】数据预处理之将类别数据转换为数值的方法(含Python代码分析)
在进行Python数据分析的时候,首先要进行数据预处理.但是有时候不得不处理一些非数值类别的数据,遇到这类问题时该怎么解决呢? 目前为止,总结了三种方法,这里分享给大家. 一.通过mapping方式, ...
- 数据预处理之将类别数据数字化的方法 —— LabelEncoder VS OneHotEncoder
LabelEncoder 和 OneHotEncoder 是什么 在数据处理过程中,我们有时需要对不连续的数字或者文本进行数字化处理. 在使用 Python 进行数据处理时,用 encoder 来转化 ...
- 地铁大数据挖掘之数据预处理——从原始一卡通数据提取城市地铁客流(二)
关于初步处理,请参考地铁大数据挖掘之客流数据预处理--从原始一卡通数据提取城市地铁客流(一). 上一篇博客对数据进行了初步处理,得到结果如下图: "_10min"字段代表所处的时间 ...
- 地铁大数据挖掘之数据预处理——从原始一卡通数据提取城市地铁客流(一)
这是很久以前写的一段代码,很简单很基础.最近突然用到,这里把它分享出来,希望可以为有需要的朋友提供帮助. 以及欢迎阅读这一系列第二篇:地铁大数据挖掘之客流数据预处理--从原始一卡通数据提取城市地铁客流 ...
- python数据预处理代码_Python中数据预处理(代码)
本篇文章给大家带来的内容是关于Python中数据预处理(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.1.导入标准库import numpy as np import matp ...
- python数据预处理 重复行统计_Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记...
1. 数据清洗 1.1 空值和缺失值的处理 空值一般表示数据未知.不适用或将在以后添加数据.缺失值是指数据集中某个或某些属性的值是不完整的. 一般空值使用None表示,缺失值使用NaN表示 1.1 ...
- Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记
文章目录 1. 数据清洗 1.1 空值和缺失值的处理 1.1.1 使用isnull()和notnull()函数 1.1.1.1 isnull()语法格式: 1.1.1.2 notnull()语法格式: ...
- cnn对网络数据预处理_CNN中的数据预处理和网络构建
cnn对网络数据预处理 In this article, we will go through the end-to-end pipeline of training convolution neur ...
- 三、数据预处理——处理分类型数据:编码与哑变量
三.处理分类型特征:编码与哑变量 点击标题即可获取文章相关的源代码文件哟! 在机器学习中,大多数算法,譬如逻辑回归,支持向量机SVM,k近邻算法等都只能够处理数值型数据,不能处理文字,在sklearn ...
最新文章
- div中加载html js,Div里面载入另一个页面的实现(Ajax取代框架)
- python input与返回值-Python 详解基本语法_函数_返回值
- Maven中的dependencyManagement 意义
- 1.11实例:保存图书信息
- java——File类常用方法
- Bottle 框架中的装饰器类和描述符应用
- 原生JS封装ajax方法
- 1000道Python题库系列分享十一(9道)
- 《你不知道的JavaScript》-- 精读(一)
- oracle--merge
- windows安装软件最好使用独立的文件夹
- 倒车雷达c语言编程,基于单片机的倒车雷达设计
- SVO2.0 安装编译
- 如何根据IP地址获取局域网内的主机名称
- 苹果cms影视建站系统免费吗?
- 2019全国大学生信息安全竞赛 web JustSoso(parse_url解析漏洞+序列化)
- 原生H5实现网易云轮播图
- java实现数字金额转换成汉字大写金额
- iOS第三方支付(支付宝SDK)
- Pyinstaller打包exe附带图片的方法
热门文章
- 北语18秋《计算机应用基础》练习1,每日一练丨一建实务科练习!
- 51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)
- 计算机网络是显性课程还是隐性课程,显性课程与隐性课程
- 基尔霍夫定理 Kirchhoff's Matrix-Tree Theorem
- android:一卡通系统,基于Android嵌入式平台的QR码识别系统 - 中国一卡通网
- 基于阿克曼转向的车辆运动学模型 在simulink中建立车辆运动学模型
- Scala语言基础详解,并在IDEA中安装Scala插件
- 现在哪些行业是暴利行业?
- idea方法注解模板
- C语言编译的基本原理