前言
在上一篇中我们安装和使用了Numpy。本期我们来学习使用 核心数据分析支持库 Pandas。
一、pandas概述
1.1 pandas 简介
Pandas 是 Python 的 核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
Pandas 是由 Wes McKinney 在 2008 年开发的,McKinney 当时是一家纽约金融服务机构的金融分析师 ,他在自己的工作中遇到了一些数据操作问题,当时 Python 中已经有了 Numpy 这样在处理大规模数据方面有着不错表现的库,但是对于表格等结构化数据而言,Numpy 并不能完全胜任。于是 McKinney 开始着手研究一套解决方案,目的是为了在 Python 中提供一种更便捷的方式来处理结构化数据,最终 Pandas 就被开发出来了。
Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,pandas 离这个目标已经越来越近了。
对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。通俗来讲,Pandas 是 Python 编程界的 Excel。
1.2 数据结构
Pandas 主要有两种数据结构,分别是 Series 和 DataFrame,他们分别表示一维的序列和二维的表结构。
维数 | 名称 | 描述 |
---|---|---|
1 | Series | 可以看做有标签(默认是整数序列 RangeIndex;可以重复)的一维数组(同类型)。是 scalars(标量) 的集合,同时也是 DataFrame 的元素。 |
2 | DataFrame | 一般是二维标签,尺寸可变的表格结构,具有潜在的异质型列。 |
1.3 Pandas 库的应用场景
Pandas 库广泛应用于数据处理、数据分析和数据可视化等方面,以下是一些 Pandas 库应用的场景:
- 数据挖掘和分析
Pandas 库的数据结构和函数可以让数据挖掘和分析更加高效和便捷。使用 Pandas 库可以轻松地对数据进行筛选、排序、过滤、清理和变换等操作,并可以进行统计和汇总等分析。
- 金融和经济分析
在金融和经济分析领域,Pandas 库在对股票数据、金融指标和宏观经济数据等方面有着广泛的应用。Pandas 库不仅可以快速下载和清理数据,还可以进行可视化和模型建立等分析。
- 科学和工程计算
Pandas 库也常用于处理科学和工程计算中的大量数据集。Pandas 库可以从多个文件格式读取数据,并可以对数据进行清洗和转换,以便后续的建模和分析操作。
1.4 学习文档
Pandas 官方网站 点我,没有 VPN 访问较慢。
Pandas 中文网 点我,可以正常访问,较为人性化。
二、pandas优势
为什么 pandas 能成为 Python 数据分析的利器和核心支持库?
我想大概可以从以下几点中找到答案。
2.1 Pandas 特点
pandas的主要数据结构是 Series(一维数据)与DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型的用例。其主要特点如下:
-
灵活的数据结构:Pandas 提供了两种主要的数据结构,即Series和DataFrame,可以用来处理不同类型和形式的数据,并可以进行索引和切片操作,方便数据的处理和操作。
-
强大的数据处理能力:Pandas 提供了丰富的数据处理和操作功能,包括数据清洗、缺失值处理、重复值处理、合并和连接、透视表等。
-
支持广泛的数据格式:Pandas 支持多种格式的数据输入和输出,包括CSV、Excel、JSON、SQL、HDF5等。
-
灵活的数据分组和聚合:Pandas 提供了灵活的数据分组和聚合功能,可以轻松进行数据分析和汇总。
-
可视化功能:Pandas 内置了可视化功能,可以通过简单的代码实现图表和可视化结果,方便数据分析和展示。
-
快速高效:Pandas使用Cython编写,具有快速高效的处理能力,在大数据量的情况下也能快速处理数据。
-
应用广泛:Pandas广泛应用于金融、统计、社会科学、工程、科学等领域,适用于各种类型的数据处理和分析任务。
-
开放的社区:Pandas 开源,社区活跃,提供了大量的文档和教程,方便学习和使用。
2.2 Pandas 优势
此外,Python 软件包索引的编制者还表示,Pandas 为数据科学家和开发者提供了几个关键优势,包括:
- 轻松处理浮点和非浮点数据中的缺失数据(表示为 NaN)
- 大小易变性:可以从 DataFrame 和更高维度的对象中插入和删除列
- 自动和显式数据对齐:可以将对象显式对齐到一组标签;或者用户只需忽略标签,让序列、DataFrame 等在计算中自动调整数据
- 强大、灵活的分组功能,对数据集执行分割-应用-组合操作,进行数据聚合和转换
- 可轻松将其他 Python 和 Numpy 数据结构中参差不齐、索引不同的数据转换为 DataFrame 对象
- 大型数据集基于标签的智能切片、精美索引和子集构建
- 直观的数据集合并与连接
- 灵活的数据集重塑和旋转
- 坐标轴的分层标记(每个记号可能具有多个标签)
- 强大的 I/O 工具,用于加载平面文件(CSV 和分隔文件)、Excel 文件和数据库中的数据,以及保存/加载超快速 HDF5 格式的数据
- 特定于时间序列的功能:日期范围生成和频率转换、窗口统计数据迁移、日期调整和延迟
三、pandas学习路线
首先是 Series: 之后是 DataFrame :
结语
本期跟大家分享的内容就到此结束了!希望本文的内容能够帮助到你。
参考文档
Python之Pandas使用详解
Python pandas用法
什么是 Pandas Python?PANDAS 的工作原理和优势?