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内置函数的用法实例教程
Sep 08 Python
跟老齐学Python之一个免费的实验室
Sep 14 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
python自定义解析简单xml格式文件的方法
May 11 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python视频按帧截取图片工具
Jul 23 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
Django利用AJAX技术实现博文实时搜索
May 06 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的FTP学习(三)
2006/10/09 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
javascript的几种写法总结
2016/09/30 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
Angular 如何使用第三方库的方法
2018/04/18 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
高二化学教学反思
2014/01/30 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
中等生评语大全
2014/05/04 职场文书
优秀员工自荐书
2015/03/06 职场文书
浅析Python中的套接字编程
2021/06/22 Python