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合并字符串的3种方法
May 21 Python
python基础知识小结之集合
Nov 25 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
python实现停车管理系统
Nov 30 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 Python
Python下载的11种姿势(小结)
Nov 18 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
bat批处理之字符串操作的实现
Mar 16 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中如何定义和使用常量
2013/02/28 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
js form action动态修改方法
2008/11/04 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
Python Cookie 读取和保存方法
2018/12/28 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python数值基础知识浅析
2019/11/19 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
文明礼仪事迹材料
2014/01/09 职场文书
给儿子的表扬信
2014/01/15 职场文书
高中生的自我评价
2014/03/04 职场文书
国庆宣传标语
2014/06/30 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2015年司机工作总结
2015/04/23 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫