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计算最小优先级队列代码分享
Dec 18 Python
Python中非常实用的一些功能和函数分享
Feb 14 Python
python常用知识梳理(必看篇)
Mar 23 Python
Python爬虫之模拟知乎登录的方法教程
May 25 Python
python实现批量修改文件名代码
Sep 10 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
在python中求分布函数相关的包实例
Apr 15 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
如何教少儿学习Python编程
Jul 10 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Python FuzzyWuzzy实现模糊匹配
Apr 28 #Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 #Python
详解PyTorch模型保存与加载
Apr 28 #Python
Python 图片添加美颜效果
Python 视频画质增强
You might like
Zend公司全球首推PHP认证
2006/10/09 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
Selenium定时刷新网页的实现代码
2018/10/31 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
Ibatis的核心配置文件都有什么
2014/09/08 面试题
假日旅行社实习自我鉴定
2013/09/24 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
党员承诺践诺书
2014/05/20 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
建筑安全生产责任书
2014/07/22 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
2014年测量员工作总结
2014/12/12 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers