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与shell的3种交互方式介绍
Apr 11 Python
详解Python发送邮件实例
Jan 10 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
Python+threading模块对单个接口进行并发测试
Jun 25 Python
Python笔记之工厂模式
Nov 20 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
python def 定义函数,调用函数方式
Jun 02 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
DRF使用simple JWT身份验证的实现
Jan 14 Python
深入浅析Django MTV模式
Sep 04 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获取当前日期和时间及格式化方法参数
2015/05/11 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
ES6入门教程之Class和Module详解
2017/05/17 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
python类的继承实例详解
2017/03/30 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
python实现FTP循环上传文件
2020/03/20 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
群众路线专项整治方案
2014/10/27 职场文书
军训通讯稿范文
2015/07/18 职场文书
Javascript webpack动态import
2022/04/19 Javascript