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 相关文章推荐
Python Flask-web表单使用详解
Nov 18 Python
Django处理文件上传File Uploads的实例
May 28 Python
浅谈Python爬虫基本套路
Mar 25 Python
python中正则表达式与模式匹配
May 07 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python之拟合的实现
Jul 19 Python
Python Django 简单分页的实现代码解析
Aug 21 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
python实现TCP文件传输
Mar 20 Python
Python使用pyexecjs代码案例解析
Jul 13 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 随机生成10位字符代码
2009/03/26 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
php strftime函数的详细用法
2018/06/21 PHP
uploadify 3.0 详细使用说明
2012/06/18 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python发送告警邮件脚本
2018/09/17 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
二年级体育教学反思
2014/01/15 职场文书
房产委托公证书样本
2014/04/04 职场文书
房屋租赁协议书
2014/10/18 职场文书
高二数学教学反思
2016/02/18 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS