基于pandas将类别属性转化为数值属性的方法
离散特征的编码分为两种情况:
1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码
2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的映射{X:1,XL:2,XXL:3}
使用pandas可以很方便的对离散型特征进行one-hot编码
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)
说明:对于有大小意义的离散特征,直接使用映射就可以了,{‘XL':3,'L':2,'M':1 }
Using the get_dummies will create a new column for every unique string in a certain column:使用get_dummies进行one-hot
编码
pd.get_dummies(df)
以上这篇基于pandas将类别属性转化为数值属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python pandas修改列属性的方法详解
使用astype如下: df[[column]] = df[[column]].astype(type) type即int.float等类型. 示例: import pandas as pd data = pd.DataFrame([[1, "2"], [2, "2"]]) data.columns = ["one", "two"] print(data) # 当前类型 print("----\n修改前类型:&quo
-
python数据预处理之将类别数据转换为数值的方法
在进行python数据分析的时候,首先要进行数据预处理. 有时候不得不处理一些非数值类别的数据,嗯, 今天要说的就是面对这些数据该如何处理. 目前了解到的大概有三种方法: 1,通过LabelEncoder来进行快速的转换: 2,通过mapping方式,将类别映射为数值.不过这种方法适用范围有限: 3,通过get_dummies方法来转换. import pandas as pd from io import StringIO csv_data = '''A,B,C,D 1,2,3,4 5,6,,
-
基于pandas将类别属性转化为数值属性的方法
离散特征的编码分为两种情况: 1.离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码 2.离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的映射{X:1,XL:2,XXL:3} 使用pandas可以很方便的对离散型特征进行one-hot编码 import pandas as pd df = pd.DataFrame([ ['green', 'M', 10.1, 'class1'], ['red', 'L', 13.5
-
基于PHP如何把汉字转化为拼音
PHP将汉字转换拼音是程序员们经常需要操作的任务之一,别看这一小功能却能发挥很大的作用,以下是正确的汉字转拼音方法,大家可以借鉴一下. 具体代码如下所示: <pre class="brush:php"><?php $d=array( array("a",-20319), array("ai",-20317), array("an",-20304), array("ang",-20295),
-
基于pandas数据样本行列选取的方法
注:以下代码是基于python3.5.0编写的 import pandas food_info = pandas.read_csv("food_info.csv") # ------------------选取数据样本的第一行-------------------- print(food_info.loc[0]) #------------------选取数据样本的3到6行---------------------- print(food_info.loc[3:6]) #-------
-
Python基于pandas实现json格式转换成dataframe的方法
本文实例讲述了Python基于pandas实现json格式转换成dataframe的方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 import re import json from bs4 import BeautifulSoup import pandas as pd import requests import os from pandas.io.json import json_normalize class image_str
-
VueJS 组件参数名命名与组件属性转化问题
HTML 特性是不区分大小写的.所以,当使用的不是字符串模版,camelCased (驼峰式) 命名的 prop 需要转换为相对应的 kebab-case (短横线隔开式) 命名: Vue.component('child', { // camelCase in JavaScript props: ['myMessage'], template: '<span>{{ myMessage }}</span>' }) 如果你使用字符串模版,则没有这些限制. <!-- kebab-
-
基于Pandas读取csv文件Error的总结
OSError:报错1 <span style="font-size:14px;">pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c:4209)() pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source (pandas\_libs\
-
pandas.DataFrame删除/选取含有特定数值的行或列实例
1.删除/选取某列含有特殊数值的行 import pandas as pd import numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9]]) df1=pd.DataFrame(a,index=['row0','row1','row2'],columns=list('ABC')) print(df1) df2=df1.copy() #删除/选取某列含有特定数值的行 #df1=df1[df1['A'].isin([1])] #df1[df1['A'].
-
vue中 数字相加为字串转化为数值的例子
month传入为3时,下面代码输出为31 if(data1.attr === 'last_month') { if(month === 1) { year = year - 1 } else { month = this.trans_Date(month - 1) } } else if(data1.attr === 'next_month') { if(month === 12) { year = year + 1 month = this.trans_Date(1) } else { mon
-
基于pandas中expand的作用详解
expand表示是否把series类型转化为DataFrame类型 下面代码中的n表示去掉下划线"_"的数量 代码如下: import numpy as np import pandas as pd s2 = pd.Series(['a_b_c_f_j', 'c_d_e_f_h', np.nan, 'f_g_h_x_g']) print("-----------------------------------") print(s2.str.split('_')) p
-
使用Pandas将inf, nan转化成特定的值
1. 数据处理中很恶心,出现 RuntimeWarning: divide by zero encountered in divide 发现自己的DataFrame中有除以0的运算,出现了Inf值 2. 为了不让该值影响到我们,打算将inf全变成NaN,则适用replace进行计算 df.replace([np.inf, -np.inf], np.nan) 3. 举例实现: In [0]: df = pd.DataFrame([1, 2, np.inf, -np.inf]) In [1]: df
随机推荐
- limitIE 为IE加上一把密码锁(输入密码才可以访问)
- iOS中给自定义tabBar的按钮添加点击放大缩小的动画效果
- Xcode 下删除Provisioning Profiles文件详细介绍
- iOS微信分享后关闭发送成功提示并返回应用
- python静态方法实例
- javascript 解决浏览器不支持的问题
- python数据清洗系列之字符串处理详解
- 编写Python脚本来获取Google搜索结果的示例
- 快速建立Servlet和JSP的运行、调试和编译环境
- C#检测DataSet是否为空的方法
- JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
- ajax接收Date类型的数据时会把数据转换为时间戳
- PHP编程中尝试程序并发的几种方式总结
- java读取excel文件并复制(copy)文件到指定目录示例
- C++中构造函数重载
- Android闹铃服务AlarmManager用法深入分析
- Android文件选择器ExFilePicker的使用方法
- 网页版在线聊天java Socket实现
- 基于命令行执行带参数的php脚本并取得参数的方法
- javascript与cookie 的问题详解