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程序中操作MySQL的基本方法
Jul 29 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
python求质数的3种方法
Sep 28 Python
python得到电脑的开机时间方法
Oct 15 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
在vscode中配置python环境过程解析
Sep 28 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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 setcookie函数的参数说明及其用法
2014/04/20 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
Python 中pandas.read_excel详细介绍
2017/06/23 Python
django缓存配置的几种方法详解
2018/07/16 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
个人欠款担保书
2014/05/20 职场文书
企业活动策划方案
2014/06/02 职场文书
护理专科学生自荐书
2014/07/05 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang