python数据处理之Pandas类型转换


Posted in Python onApril 28, 2022

转换为字符串类型

tips['sex_str'] = tips['sex'].astype(str)

python数据处理之Pandas类型转换

转换为数值类型

python数据处理之Pandas类型转换

转为数值类型还可以使用to_numeric()函数

DataFrame每一列的数据类型必须相同,当有些数据中有缺失,但不是NaN时(如missing,null等),会使整列数据变成字符串类型而不是数值型,这个时候可以使用to_numeric处理

#创造包含'missing'为缺失值的数据
tips_sub_miss = tips.head(10)
tips_sub_miss.loc[[1,3,5,7],'total_bill'] = 'missing'
tips_sub_miss

python数据处理之Pandas类型转换

自动转换为了字符串类型:

python数据处理之Pandas类型转换

使用astype转换报错:

tips_sub_miss['total_bill'].astype(float)

python数据处理之Pandas类型转换

使用to_numeric()函数:

直接使用to_numeric()函数还是会报错,添加errors参数

errors可变参数:

  • ignore 遇到错误跳过 (只是跳过没转类型)
  • coerce 遇到不能转的值强转为NaN
pd.to_numeric(tips_sub_miss['total_bill'],errors='ignore')

python数据处理之Pandas类型转换

pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce')

python数据处理之Pandas类型转换

to_numeric向下转型:

downcast参数

  • integersigned最小的有符号int dtype
  • float 最小的float dtype
  • unsigned 最小的无符号int dtype

downcast参数设置为float之后, total_bill的数据类型由float64变为float32

pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce',downcast='float')

python数据处理之Pandas类型转换

分类数据(Category)

利用pd.Categorical()创建categorical数据,Categorical()常用三个参数

  • 参1 values,如果values中的值,不在categories参数中,会被NaN代替
  • 参2 categories,指定可能存在的类别数据
  • 参3 ordered, 是否指定顺序
s = pd.Series(pd.Categorical(["a","b","c","d"],categories=['c','b','a']))

python数据处理之Pandas类型转换

分类数据排序会自动根据分类排序:

python数据处理之Pandas类型转换

ordered指定顺序:

python数据处理之Pandas类型转换

from pandas.api.types import CategoricalDtype
# 创建一个分类  ordered  指定顺序
cat = CategoricalDtype(categories=['B','D','A','C'],ordered=True)
# 指定series_cat1转换类型为创建的分类类型
series_cat1 = series_cat.astype(cat)
print(series_cat.sort_values())
print(series_cat1.sort_values())

python数据处理之Pandas类型转换

数据类型小结

知识点 内容
Numpy的特点 1. Numpy是一个高效科学计算库,Pandas的数据计算功能是对Numpy的封装

2. ndarray是Numpy的基本数据结构,Pandas的Series和DataFrame好多函数和属性都与ndarray一样

3. Numpy的计算效率比原生Python效率高很多,并且支持并行计算
Pandas数据类型转换 1. Pandas除了数值型的int 和 float类型外,还有object ,category,bool,datetime类型

2. 可以通过as_type 和 to_numeric 函数进行数据类型转换
Pandas 分类数据类型 1. category类型,可以用来进行排序,并且可以自定义排序顺序

2. CategoricalDtype可以用来定义顺序

 到此这篇关于python数据处理之Pandas类型转换的实现的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
Python logging模块用法示例
Aug 28 Python
python实现决策树分类
Aug 30 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
虚拟机下载python是否需要联网
Jul 27 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Python FuzzyWuzzy实现模糊匹配
Apr 28 #Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 #Python
详解PyTorch模型保存与加载
Apr 28 #Python
Python 图片添加美颜效果
Python 视频画质增强
You might like
php中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
Node.js的特点详解
2017/02/03 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
django框架如何集成celery进行开发
2017/05/24 Python
Python学习入门之区块链详解
2017/07/25 Python
python使用turtle绘制分形树
2018/06/22 Python
Python列表list排列组合操作示例
2018/12/18 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
django 单表操作实例详解
2019/07/30 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
python opencv如何实现图片绘制
2020/01/19 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
管理科学大学生求职信
2013/11/13 职场文书
2014年教师节寄语
2014/08/11 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python