Pandas类型转换的多种情况和实现是怎样
Admin 2022-09-15 群英技术资讯 1157 次浏览
本篇内容介绍了“Pandas类型转换的多种情况和实现是怎样”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!tips['sex_str'] = tips['sex'].astype(str)


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

自动转换为了字符串类型:

使用astype转换报错:
tips_sub_miss['total_bill'].astype(float)

使用to_numeric()函数:
直接使用to_numeric()函数还是会报错,添加errors参数
errors可变参数:
ignore 遇到错误跳过 (只是跳过没转类型)coerce 遇到不能转的值强转为NaNpd.to_numeric(tips_sub_miss['total_bill'],errors='ignore')

pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce')

to_numeric向下转型:
downcast参数
integer 和 signed最小的有符号int dtypefloat 最小的float dtypeunsigned 最小的无符号int dtypedowncast参数设置为float之后, total_bill的数据类型由float64变为float32
pd.to_numeric(tips_sub_miss['total_bill'],errors='coerce',downcast='float')

利用pd.Categorical()创建categorical数据,Categorical()常用三个参数
s = pd.Series(pd.Categorical(["a","b","c","d"],categories=['c','b','a']))

分类数据排序会自动根据分类排序:

ordered指定顺序:

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())

| 知识点 | 内容 |
|---|---|
| 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可以用来定义顺序 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python处理excel文件之xlsxwriter 模块,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下,希望对你的学习有所帮助
lambda表达式是什么?lambda 表达式是 Python 中创建匿名函数的一个特殊语法 我称 lambda 语法本身为 lambda 表达式,而它返回的
以下是小编长久以来收集的一些Python实用技巧和工具,文中有非常详细的代码示例及介绍,希望能对刚学习Python的新手有所帮助,需要的朋友可以参考下
这篇文章主要介绍python实现跳表的内容,一些朋友可能对跳表是什么不是很了解,对此,接下来我们现了解一下跳表,再看python如何实现跳表,感兴趣的朋友就继续往下看吧。
Python中的内存管理是从三个方面来进行的,一对象的引用计数机制,二垃圾回收机制,三内存池机制,下面这篇文章主要给大家介绍了关于Python内存管理器如何实现池化技术的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008