Pandas 简介
图片来源:Pandas 中文网 大家好,欢迎阅读这门 Pandas教程。
如果你是一个数据开发人员,我想你应该对 Pandas 并不陌生。如果你从没有听说过也没有关系,这节课我们将对 Pandas 做一个系统的介绍,看完这节课你应该对 Pandas 是什么,能用来做什么有一个大致的了解。
好了,话不多说,下面就让我们一起来走进 Pandas 的世界。
1. Pandas 是什么?
Pandas 是由 Wes McKinny 于 2008 年设计和开发,并于 2009 年底开源出来。最初的出现是为了弥补Python 在科学计算上的速度慢和资源消耗大的缺点,随着不断的发展,Pandas 库越来越成熟和稳定,已经成为了 Python 在科学计算中的重要模块之一,广泛的应用于数据分析、机器学习和深度学习等领域。随着大数据、人工智能领域发展的突飞猛进,Pandas 的出场频率越来越高,对于数据科学问题的处理越来越成熟、稳定和高效。
作为 Python 语言的一个第三方库,Pandas 在程序中可以很方便的进行引用。但是不得不说的是。Pandas 是在 Python 的另一个科学计算库 Numpy 的基础上进行开发的,因此 Pandas 采用了大量的 Numpy 编码风格。
但它在性能上要优于 Numpy,Numpy 比较适合处理统一的数值数组数据,而 Pandas 主要提供了两种数据结构:一维数组(Series)和二维数组(DataFrame),可以说是专门用来处理表格和混杂数据的工具。
Tips:想要学习 Numpy 库的同学可以阅读这一门。
2. Pandas 的特点
Pandas 有很多的特点,它的创始人 Wes McKinney 在谈到 Pandas 时,总结了它的 9 个特性:
- 对表格类型数据的读取和输出速度非常快;
- 时间序列处理;
- 数据队列;
- 处理缺失数据;
- 分组运算;
- 分级索引;
- 数据的合并和加入;
- 数据透视表;
- 数据归纳和分析。
当然除了这九点,Pandas 还有很多其他的优点,比如丰富的操作函数等,后面的课程中我们也会一一将 Pandas 的这些优点展现给大家。
当我们最开始接触 Pandas 时,很明了的就能感觉它在数据处理速度上的优势,以及它对于缺失数据处理的便捷性,还有它自身含有的数据归纳和分析函数。
正是这简单的操作,快速的运算和自身带有的强大的函数等功能特性,使得需要数据处理分析的用户能很轻松的入手这个工具,并且带来的效果又是那么惊叹,正是这些让越来越多的需求选择了入手它,并在使用中深入的了解它,最终掌握它、赞叹它。
3. Pandas 的主要版本有哪些?教程使用什么版本?
Pandas 从 2009 年 12 月 26 日发布的 0.1 版本,发展到现在的 1.1.3 版本,中间各种版本经历了八十次左右的迭代,也正是它不断的发展、迭代才有了现在的成熟和稳定,Pandas 迭代中有很多重要的版本,这里我们要强调一下 Pandas 的几个版本:
- V0.24.2:该版本修复了0.24.x系列中的一些小错误,包括一些回归修复,错误修复和性能改进;
- V0.25.0:这是 0.24.2 之后的另一个主要版本,大量的 API 更改,功能的改进和大量错误的修复;
- V1.0.0:该版本新增了 StringDtype 数据类型,新增了表格导出为
markdown
的格式等新的内容。
本教程采用的是 Pandas 的最新 1.1.3 版本,该版本支持较新的 Python 3.9 版本,修复了整数一元加减运算中引起的类型错误,修复了 DataFrame.sort_values() 操作时出现的 AttributeError 错误等等,可以到官网查看 Pandas 1.1.3 的新特性。如果学习中,要使用其他版本的 Pandas ,要注意对 Python 版本的支持,
4. Pandas 与其他同类型框架的对比
5.1 软件 SAS
对于商业软件 SAS 而言,虽然它拥有良好的 GUI 方便用户操作,但是购买价格比较昂贵,让很多个体用户望而止步。并且它的统计功能更新速度要不是很及时,而对比之下,Pandas 不仅开源免费,并且功能强大,成为了越来越多个体、科研机构、或者企业的不二之选。
5.2 R 库
R 库作为 SAS 的开源对应物,Pandas 库和 R 库在数据处理和分析方面都比较专业,Linux、Windows 均可使用,并且代码可移植性都比较好,两个库之间存在一定的互补性,但处理速度方面 Pandas 库要优于 R 库,Pandas 是 Python 的第三方库,在数据结构上也更为丰富。
5.3 SQL 工具
Pandas 库和 SQL 工具相比较,如果是处理存在数据库中的数据,SQL 相对而言要方便一些,但目前大数据发展性,数据的来源大多数是通过网络爬虫而来,通过Python爬虫程序,生成的数据文件一般是txt、csv 或者 Excel,这时候 SQL 就不太好用了,Pandas 的优势也就提现出来,它不论是数据的读取和导出都很方便,而且 SQL 中有的数据处理功能,都可以由 Pandas 来实现。
通过和其他数据处理分析工具的对比,从成本投入、操作复杂度、处理能力等多方面考虑来看,Pandas 成为当下最火的数据处理工具也是当之无愧的。
6. 为什么要学习 Pandas?可以给我带来什么好处?
目前来说,大数据产业已经发展成为了一种新型服务产业,已经逐渐的延伸到科学和商业等领域,随着大数据技术的发展和应用产品的不断迭代更新,大数据中所蕴含的价值被不断的开采出来,同时,大数据分析行业的人才需求量也越来越大,行业中给出的待遇水平也相对较高。
而 Python 语言中的 Pandas 库凭借着自身在大数据处理和分析中的简洁方便、稳定、高效等多方面的优势,在大数据领域中的位置越来越重要,也越来越被用户所认可,成为了大数据分析、人工智能等领域必不可少的选择。
学习 Pandas 有以下这些你无法拒绝的理由:
- 易于学习和使用;
- 社区资源多且丰富;
- Pandas库成熟稳定;
- Pandas库功能丰富;
- 提高数据分析生成力;
- 就业前景广;
- 薪资待遇高。
总之,不管你是一名上班族,还一名科学的研究者,Pandas 的学习对你来说都是很有价值的,在工作和办公中随时都会接触到大量的数据,对于数据的处理和分析成为了必不可少的工作内容之一,Pandas 能大大的提高工作的效率。通过接下来进一步的接触和学习,Pandas 在数据处理和分析上的亮点一定会让你赞叹!
7. 本门课程是如何设计的?
本课程主要是 Pandas入门基础知识,从简单到复杂,带领大家了解 Pandas 的数据结构,掌握 Pandas丰富的操作方法,进一步的认识 Pandas 的一些高级功能,按照 Pandas 库的数据结构和功能模块层层深入,一层一层的揭开 Pandas 的神秘面纱。
课程主要涉及 Pandas 开发环境的安装,Pandas 数据相关的操作,Pandas 的统计描述,以及 Pandas时间序列等知识点,针对每一块的知识,按照功能模块展开到每一小节,再具体到每一个操作方法上,会从概念描述、代码演示和注意事项等多个角度讲述知识点,使学生能轻松的学习 Pandas 库,熟练的掌握 Pandas 库的基础知识。
8. 学习这门课程需要有什么基础?
- 学习这么课程首先要有python语言编程基础;
- 有一定的 Numpy 库使用基础,会更加有利于 Pandas 库的学习和使用。
Tips:想要学习 Numpy 库的同学可以阅读这一门慕课教程。