温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Pandas数据结构的基础用法

发布时间:2021-08-27 16:05:10 来源:亿速云 阅读:152 作者:chen 栏目:编程语言

这篇文章主要讲解了“Pandas数据结构的基础用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pandas数据结构的基础用法”吧!

Head与Tail

head()与tail()用于快速预览Series与DataFrame,默认显示5条数据,也可以指定显示数据的数量。

Pandas数据结构的基础用法

属性与底层数据

Pandas可以通过多个属性访问元数据:

shape:输出对象的轴维度,与ndarray一致

轴标签:

Series:Index(仅有此轴)

DataFrame:Index(行)与列

Pandas数据结构的基础用法

Pandas对象(Index、Series、DataFrame)相当于数组的容器,用于存储数据、执行计算。大部分类型的底层数组都是numpy.ndarray。不过,Pandas与第三方支持库一般都会扩展NumPy类型系统,添加自定义数组。

.array属性用于提取Index或Series里的数据。

Pandas数据结构的基础用法

array一般指ExtensionArray。

提取NumPy数组,用to_numpy()或numpy.asarray()。

Pandas数据结构的基础用法

Series与Index的类型是ExtensionArray时,to_numpy()会复制数据,并强制转换值。

to_numpy()可以控制numpy.ndarray生成的数据类型。以带时区的datetme为例,NumPy未提供时区信息的datetime数据类型,Pandas则提供了两种表现形式:

1.一种是带Timestamp的numpy.ndarray,提供了正确的tz信息。

2.另一种是datetime64[ns],这也是一种numpy.ndarray,值被转化为UTC,但去掉了时区信息。

时区信息可以用dtype=object保存

Pandas数据结构的基础用法

或用dtype=’datetime64[ns]’去除。

Pandas数据结构的基础用法

提取DataFrame里的原数据稍微有点复杂。DataFrame里所有列的数据类型都一样时,DataFrame.to_numpy()返回底层数据:

Pandas数据结构的基础用法

DataFrame为同构型数据时,Pandas直接修改原始ndarray,所以修改会直接反应在数据结构里。对于异构型数据,即DataFrame列的数据类型不一样时,就不是这种操作模式了,与轴标签不同,不能为值的属性赋值。

这里我们要注意处理异构型数据时,输出结果ndarray的数据类型适用于涉及的各类数据。若DataFrame里包含字符串,输出结构的数据类型就是object。要是只有浮点数或整数,则输出结果的数据类型是浮点数。

以前,Pandas推荐用Series.values或DataFrame.values从Series或DataFrame里提取数据。

但Pandas改进了此功能,现在,推荐用.array或to_numpy提取数据,别再用.values了。

.values有以下2个缺点:

1.Series含扩展类型时,Series.values无法判断到底是改返回NumPy array,还是返回Extension array。而Series.array则只返回ExtensionArray,且不会复制数据。Series.to_numpy则返回NumPy数组,其代价是需要复制、并强制转换数据的值。

2.DataFrame含多种数据类型时,DataFrame.values会复制数据,并将数据的值强制转换同一种数据类型,这是一种代价较高的操作。DataFrame.to_numpy()则返回NumPy数组,这种方式更清晰,也不会把DataFrame里的数据都当作一种类型。

加速操作

借助numexpr与bottleneck支持库,Pandas可以加速特定类型的二进制数值与布尔操作。

处理大型数据集时,这两个支持库特别有用,加速效果也非常明显。numexpr使用智能分块、缓存与多核技术。bottleneck是一组专属cython例程,处理含nans值的数组时,特别快。

请看下面这个例子(DataFrame包含100列×10万行数据):

Pandas数据结构的基础用法

这两个支持库默认为启用状态,可用以下选项设置:

Pandas数据结构的基础用法

感谢各位的阅读,以上就是“Pandas数据结构的基础用法”的内容了,经过本文的学习后,相信大家对Pandas数据结构的基础用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI