利用pandas将非数值数据转换成数值的方式


Posted in Python onDecember 18, 2019

handle non numerical data

举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~,

这里不考虑稀疏向量的使用,仅提供一些思路。本来想直接利用pandas的DataFrame.iloc加上for循环直接转换,但试过一遍之后,原数据并有改变。。。。蛋疼写了一个比较 菜的函数,如下。

# 非数值列处理函数
def handel_non_numerical_data(df,name): #----------------name是需要处理的列名称(str),暂不考虑列表
 nrows = len(df[name])  #----------------数据集的行数
 old_col = df.columns.tolist() #----------------初始的列名集合
 name_index = old_col.index(name) #---------要处理的列的在数据集中的索引值
 name_data = df[name].values.tolist()#-----------将要处理烦人列复制成一个列表
 df.drop([name],axis =1,inplace =True) 
 unique_kinds = set(name_data)
 convert_dict = {}; x = 0   #构造对应种类数值转化字典
 for i in unique_kinds:
 convert_dict[i] = x
 x += 1
 def convert(val):
 return convert_dict[val] 
 name_data = list(map(convert,name_data))#利用map函数直接迭代转化
 
 new_col = df.columns.tolist()
 new_col.insert(name_index,name)
 df.reindex(columns = new_col) #----------------重构数据的列
 df[name] = name_data

跑了一遍没有出错,注意这只是baseline…,如果对数值有要求的话,需要自行改动

原本是想直接用youtube上sentdex老哥ml35期视频里的代码的,但发现了几个较为严重的bug,而且总是运行出错 ,如下

def handle_non_numerical_data(df):
 columns = df.columns.values
 for column in columns:
 text_digit_vals = {}
 def convert_to_int(val):
  return text_digit_vals[val]
 if df[column].dtype != np.int64 and df[column].dtype != np.float64:
  column_content = df[column].values.tolist()
  unique_elements = set(column_content)
  print(unique_elements)
  x =0
  for unique in unique_elements:
  if unique not in text_digit_vals:
   text_digit_vals[unique] = x
   x+=1
 df[column] = list(map(convert_to_int,df[column]))

可见,非常暴力,注意到他的if条件,有的数据集中会出现字母数字组合的情况【会出现dtype=object的情况】,set之后种类会草鸡多…,这样的话数值转换也就失去了意义【当然,如果你的样本量是亿级的,几千几百个种类无所谓我也无fuck说,这种情况我认为必须使用稀疏向量了】,另外这个代码一直报错,不知道为什么,有兴趣的老哥可以复制跑一下帮我解答一下。。。

---------------------------2019-08-21分割:

https://www.kaggle.com/nroman/recursive-feature-elimination

LabelEncoder方法

from sklearn.preprocessing import LabelEncoder

利用pandas将非数值数据转换成数值的方式

注:tqdm是进度条库,不需要关注。另外没有去看这个接口的源码,应该也是最简单的one-hot

以上这篇利用pandas将非数值数据转换成数值的方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 判断自定义对象类型
Mar 21 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python执行时间的计算方法小结
Mar 17 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
Jul 23 Python
django+echart数据动态显示的例子
Aug 12 Python
python 进程的几种创建方式详解
Aug 29 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
jupyter notebook 写代码自动补全的实现
Nov 02 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 #Python
基于numpy中的expand_dims函数用法
Dec 18 #Python
Python.append()与Python.expand()用法详解
Dec 18 #Python
python getopt模块使用实例解析
Dec 18 #Python
pytorch制作自己的LMDB数据操作示例
Dec 18 #Python
Python Gluon参数和模块命名操作教程
Dec 18 #Python
python turtle 绘制太极图的实例
Dec 18 #Python
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
php 远程关机操作的代码
2008/12/05 PHP
php 分库分表hash算法
2009/11/12 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
python进阶教程之动态类型详解
2014/08/30 Python
python直接访问私有属性的简单方法
2016/07/25 Python
python 实现提取某个索引中某个时间段的数据方法
2019/02/01 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
演讲稿祖国在我心中
2014/05/04 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
2014年学生工作总结
2014/11/20 职场文书
2015年父亲节寄语
2015/03/23 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers