>>> from env_helper import info; info()
页面更新时间: 2023-04-15 21:30:21
运行环境:
Linux发行版本: Debian GNU/Linux 12 (bookworm)
操作系统内核: Linux-6.1.0-7-amd64-x86_64-with-glibc2.36
Python版本: 3.11.2
5.1. Pandas教程简介¶
Pandas是一款开放源码的BSD许可的Python库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具。 Pandas用于广泛的领域,包括金融,经济,统计,分析等学术和商业领域。
在本教程中,我们将学习Python Pandas的各种功能以及如何在实践中使用它们。
Python Pandas的官方网站是: http://pandas.pydata.org/
Pandas库的介绍¶
Pandas是一个开放源码的Python库,它使用强大的数据结构提供高性能的数据操作和分析工具。 它的名字“Pandas”源于Panel Data - 多维数据的计量经济学(an Econometrics from Multidimensional data)。
2008年,为满足需要高性能,灵活的数据分析工具,开发商Wes McKinney着手开发Pandas。
在Pandas之前,Python主要用于数据生成和处理,用于数据分析的库相对较少。 Pandas的出现推进了Python在数据分析中的应用。 使用Pandas可以完成数据处理和分析的五个典型步骤:加载,准备,操作,模型和分析,并且大大简化了读取不同来源数据的过程。
目前Pandas广泛应用于不同的领域,包括金融,经济,统计,分析等学术和商业领域。
Pandas的主要特点¶
快速高效的DataFrame对象,具有默认和自定义的索引。
将数据从不同文件格式加载到内存中的数据对象的工具。
丢失数据的数据对齐和综合处理。
重组和摆动日期集。
基于标签的切片,索引和大数据集的子集。
可以删除或插入来自数据结构的列。
按数据分组进行聚合和转换。
高性能合并和数据加入。
时间序列功能。
本教程为准备学习Pandas基础知识和各种功能的人员而做准备的。它对数据清理和分析的人员特别有用。 完成本教程之后,将发现自己处于适度的专业知识水平,可以从中获得更高水平的专业知识。
要求对计算机编程术语有一个基本的了解。 对任何编程语言的基本了解是一个加分。Pandas库使用NumPy的大部分功能。
Pandas环境安装配置¶
标准的Python发行版并没有将Pandas模块捆绑在一起发布。安装Pandas模块的一个轻量级的替代方法是使用流行的Python包安装程序,pip来安装NumPy。
官方的Python 2.7, Python 3.5及后续版本,可使用下面的命令:
pip install pandas
大多数用户安装pandas最简单的方法是将其作为Anaconda发行版的一部分进行安装,这是一个用于数据分析和科学计算的跨平台分发。 这是大多数用户推荐的安装方法,尤其推荐 Windows 用户安装。
Anaconda(来自 http://www.continuum.io )是SciPy堆栈的免费Python发行版。它也适用于Linux和Mac。
Canopy( http://www.enthought.com/products/canopy/ )可免费使用,并提供完整的SciPy堆栈,适用于Windows,Linux和Mac。
Python(x,y)是一个免费的Python发行版,具有SciPy堆栈和适用于Windows操作系统的Spyder IDE。(可从 http://python-xy.github.io/ 下载)
各个Linux发行版的软件包管理器用于在SciPy堆栈中安装一个或多个软件包。
对于Ubuntu系统
sudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook
python-pandas python-sympy python-nose
对于Fedora用户
sudo yum install numpyscipy python-matplotlibipython python-pandas sympy
python-nose atlas-devel
Pandas数据结构¶
Pandas处理以下三个数据结构 :
系列(Series)
数据帧(DataFrame)
面板(Panel)
这些数据结构构建在Numpy数组之上,这意味着它们很快。
维数和描述¶
考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器。 例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构 | 维数 | 描述 |
---|---|---|
系列 | 1 | 1D标记均匀数组,大小不变。 |
数据帧 | 2 | 一般2D标记,大小可变的表结构与潜在的异质类型的列。 |
面板 | 3 | 一般3D标记,大小可变数组。 |
构建和处理二维或更高维度的数组是一项繁琐的任务,用户在编写函数时要考虑数据集的数轴方向。 但是使用Pandas数据结构,减少了用户的思考时间。
例如,使用表格数据(DataFrame),在语义上更有用于考虑索引(行)和列,而不是轴0和轴1。
可变性
所有Pandas数据结构是值可变的(可以更改),除了系列都是大小可变的。系列是大小不变的。
注 - DataFrame被广泛使用,是最重要的数据结构之一。面板使用少得多。
系列
系列是具有均匀数据的一维数组结构。例如,以下系列是整数:10,23,56,…的集合。
关键点
均匀数据
尺寸大小不变
数据的值可变
数据帧¶
数据帧(DataFrame)是一个具有异构数据的二维数组。 例如,
姓名 | 年龄 | 性别 | 等级 |
---|---|---|---|
Maxsu | 25 | 男 | 4.45 |
Katie | 34 | 女 | 2.78 |
Vina | 46 | 女 | 3.9 |
Lia | 女 | x女 | 4.6 |
上表表示具有整体绩效评级组织的销售团队的数据。数据以行和列表示。每列表示一个属性,每行代表一个人。
列的数据类型
上面数据帧中四列的数据类型如下:
列 | 类型 |
---|---|
姓名 | 字符串 |
年龄 | 整数 |
性别 | 字符串 |
等级 | 浮点型 |