目录

上一个主题

5. Pandas 第一部分

下一个主题

5.2. Pandas快速入门


>>> 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

上表表示具有整体绩效评级组织的销售团队的数据。数据以行和列表示。每列表示一个属性,每行代表一个人。

列的数据类型

上面数据帧中四列的数据类型如下:

类型

姓名

字符串

年龄

整数

性别

字符串

等级

浮点型

面板

面板是具有异构数据的三维数据结构。在图形表示中很难表示面板。但是一个面板可以说明为DataFrame的容器。

关键点

  • 异构数据

  • 大小可变

  • 数据可变