如何最简单、通俗地理解 Python 的 pandas 库?
pandas 是一个 Python 软件包,提供快速、灵活和富有表现力的数据结构,旨在使处理 "关系型 "或 "标签型 "数据变得简单和直观
这个解释是比较官方的。
我个人理解,Pandas 相当于 Python 中 Excel、SQL 这类表格工具,只是在此基础上它提供了更加丰富而高效的功能。
熟悉 Excel 和 SQL 的同学应该理解,Excel 和 SQL 经常用于一维和二维数据的处理,效率非常高。
以数据分析为例,假如我们利用 Python 从零开始开发一个程序,需要先后实现数据的读取、数据结构的定义、数据遍历、数据处理、数据计算....
这是一个繁琐而多余的过程。
通过 SQL 或者 Excel,我们可以借助 count、sum、join、group by 等函数,仅有几行代码就可以实现 Python 几十甚至上百行代码的工作,极大的提升了开发效率。
而 Python 相对于 SQL、Excel 则提供了更加灵活、更加强大的数据分析/处理功能。
它的功能包括但不限于下述内容:
数据清理
数据填充
数据规范化
合并和连接
数据可视化
统计分析
数据检查
数据读写
下面,就抽取方面介绍一下 Pandas。
1. 数据读写
Pandas 的优点之一,是它有许多内置函数,可以从各种数据源中读取数据。
SQL、Excel、CSV、JSON、HDF5、Parquet、PDF、Pickle、TXT,等等。
这样,我们就不需要再用 Python 针对不同类型的数据解释写一个对应的处理函数,可以很容易的兼容不同数据存储格式。
如果不使用 Pandas,我们首先需要安装 Excel、CSV 相关的第三方工具包,然后再写读写代码、异常处理、数据遍历,会麻烦很多。
2. 数据探索
读取数据之后,接下来要做的就是探索和熟悉数据。
在这里,以 Netflix 电影数据库数据为例进行介绍。
读取 CSV 文件前 3 行数据:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
列出所有列:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
数据统计:
我们可以使用 value_counts()来探索一个有离散值的列,这个函数将列出所有的唯一值,以及它们在数据集中出现的频率:
编辑
添加图片注释,不超过 140 字(可选)
数据描述:
对于有数字数据的列,我们有一个非常整洁的功能,将显示许多有用的统计数据:
编辑
添加图片注释,不超过 140 字(可选)
除此之外,还有一些其他的简洁高效的函数,可以尝试一下:group by, min(), max(), mean(), sum()。
3. 数据可视化
数据可视化能够让我们更加直观的去理解和分析数据,因此,在数据分析中可视化功能也直观重要。
Pandas 除了提供数据读取和探索功能外,还有数据可视化功能。
直方图:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
柱状图:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
折线图:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
当然,有一些方法可以使这些图表更漂亮,甚至可以交互。
但是,使用 Pandas,通过简单几行代码,不需要第三方工具包,就可以实现对数据更加直观的显示。
4. 数据 ETL
目前数据 ETL 主要都是使用 SQL,容易实现、可解释性强。
Python 的 Pandas 也可以轻松实现数据 ETL,它可以帮助我们以多种方式清理和转换数据。
现在,由于我们几乎从不只从一个数据源读取数据,这就需要用到数据的关联、合并、转化,在 Pandas 中都可以轻松实现。
关联
拼接
字符串函数
数据筛选
函数操作
这是 Pandas 为我们提供的最强大的函数之一。
它可以让你以逐行的方式(也是逐列的方式)应用一些转换、条件,甚至是用户定义的函数。
下面的代码片断显示了如何将用户定义的函数应用于一列:
5. 数据导出
一旦我们把数据处理完,下一步要做的就是如何保存数据。
Pandas 也提供了非常便捷的功能。
Excel
CSV
数据库
Pandas 是一款非常实用的工具包,在 Pandas 的帮助下,你可以轻松做很多事情。
尤其,Python 是独立于平台的。我们可以在任何地方运行我们的 ETLs 脚本。在 SSIS、Alteryx、Azure、AWS 上,在 Power BI 内,甚至通过将我们的 Python 代码转换为可执行文件,作为一个独立的应用程序来运行。
hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:
版权声明: 本文为 InfoQ 作者【Jackpop】的原创文章。
原文链接:【http://xie.infoq.cn/article/ed68024c162e9cf5946617233】。文章转载请联系作者。
评论