Pandas教程(⾮常详细)
⽂章⽬录
转载于:
Pandas 库是⼀个免费、开源的第三⽅ Python 库,是 Python 数据分析必不可少的⼯具之⼀,它为 Python 数据分析提供了⾼性能,且易于使⽤的数据结构,即 Series 和 DataFrame。Pandas ⾃诞⽣后被应⽤于众多的领域,⽐如⾦融、统计学、社会科学、建筑⼯程等。
Pandas 库基于 Python NumPy 库开发⽽来,因此,它可以与 Python 的科学计算库配合使⽤。Pandas 提供了两种数据结构,分别是Series(⼀维数组结构)与 DataFrame(⼆维数组结构),这两种数据结构极⼤地增强的了 Pandas 的数据分析能⼒。在本套教程中,我们将学习 Python Pandas 的各种⽅法、特性以及如何在实践中运⽤它们。
教程特点
hadoop生态本套教程是为 Pandas 初学者打造的,学习完本套教程,您将在⼀定程度上掌握 Pandas 的基础知识,以及各种功能。如果您是从事数据分析的⼯作⼈员,那么这套教程会对您有所帮助。
本套教程对 Python Pandas 库进⾏详细地讲解,包括⽂件读写、统计学函数、缺失值处理、以及数据可视化等重点知识。为了降低初学者的学习门槛,我们的教程尽量采⽤通俗易懂、深⼊浅出的语⾔风格,相信通过对本套教程的学习,您⼀定会收获颇丰。
阅读条件
在开始学习本套教程前,⾸先您应该对于数据分析、数据可视化的概念有⼀定程度的了解,并且您已经熟练掌握 Python 语⾔的基础知识。其次,由于 Pandas 库是在 NumPy 库的基础上构建⽽来,所以建议您提前学习《》。
Pandas是什么
Pandas 是⼀个开源的第三⽅ Python 库,从 Numpy 和 Matplotlib 的基础上构建⽽来,享有数据分析“三剑客之⼀”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备⾼级⼯具,它的⽬标是成为强⼤、灵活、可以⽀持任何编程语⾔的数据分析⼯具。
图1:Pandas Logo
Pandas 这个名字来源于⾯板数据(Panel Data)与数据分析(data analysis)这两个名词的组合。在经济学中,Panel Data 是⼀个关于多维数据集的术语。Pandas 最初被应⽤于⾦融量化交易领域,现
在它的应⽤领域更加⼴泛,涵盖了农业、⼯业、交通等许多⾏业。
Pandas 最初由 Wes McKinney(韦斯·麦⾦尼)于 2008 年开发,并于 2009 年实现开源。⽬前,Pandas 由 PyData 团队进⾏⽇常的开发和维护⼯作。在 2020 年 12 ⽉,PyData 团队公布了最新的 Pandas 1.20 版本 。
在 Pandas 没有出现之前,Python 在数据分析任务中主要承担着数据采集和数据预处理的⼯作,但是这对数据分析的⽀持⼗分有限,并不能突出 Python 简单、易上⼿的特点。Pandas 的出现使得 Python 做数据分析的能⼒得到了⼤幅度提升,它主要实现了数据分析的五个重要环节:
加载数据
整理数据
操作数据
构建数据模型
分析数据
Pandas主要特点
Pandas 主要包括以下⼏个特点:
它提供了⼀个简单、⾼效、带有默认标签(也可以⾃定义标签)的 DataFrame 对象。
能够快速得从不同格式的⽂件中加载数据(⽐如 Excel、CSV 、SQL⽂件),然后将其转换为可处理的对象;
能够按数据的⾏、列标签进⾏分组,并对分组后的对象执⾏聚合和转换操作;
能够很⽅便地实现数据归⼀化操作和缺失值处理;
能够很⽅便地对 DataFrame 的数据列进⾏增加、修改或者删除的操作;
能够处理不同格式的数据集,⽐如矩阵数据、异构数据表、时间序列等;
提供了多种处理数据集的⽅式,⽐如构建⼦集、切⽚、过滤、分组以及重新排序等。
上述知识点将在后续学习中为⼤家⼀⼀讲解。
Pandas主要优势
与其它语⾔的数据分析包相⽐,Pandas 具有以下优势:
Pandas 的 DataFrame 和 Series 构建了适⽤于数据分析的存储结构;
Pandas 简洁的 API 能够让你专注于代码的核⼼层⾯;
Pandas 实现了与其他库的集成,⽐如 Scipy、scikit-learn 和 Matplotlib;
Pandas 官⽅⽹站()提供了完善资料⽀持,及其良好的社区环境。
Pandas内置数据结构
我们知道,构建和处理⼆维、多维数组是⼀项繁琐的任务。Pandas 为解决这⼀问题, 在 ndarray 数组(NumPy 中的数组)的基础上构建出了两种不同的数据结构,分别是 Series(⼀维数据结构)DataFrame(⼆维数据结构):
Series 是带标签的⼀维数组,这⾥的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,⽐如 a、b、c 等;
DataFrame 是⼀种表格型数据结构,它既有⾏标签,⼜有列标签。
下⾯对上述数据结构做简单地的说明:
数据结构维
说明
Series1该结构能够存储各种数据类型,⽐如字符数、整数、浮点数、Python 对象等,Series ⽤ name 和 index 属性来描述 数据值。Series
是⼀维数据结构,因此其维数不可以改变。
DataFrame2DataFrame 是⼀种⼆维表格型数据的结构,既有⾏索引,也有列索引。⾏索引是 index,列索引是 columns。 在创建该结构时,可
以指定相应的索引值。
由于上述数据结构的存在,使得处理多维数组数任务变的简单。在《》和《》两节中,我们会对上述数据结构做详细讲解。
注意,在 Pandas 0.25 版本后,Pamdas 废弃了 Panel 数据结构,如果感兴趣可阅读《》⼀节。
python入门教程(非常详细)书Pandas库下载和安装
Python 官⽅标准发⾏版并没有⾃带 Pandas 库,因此需要另⾏安装。除了标准发⾏版外,还有⼀些第三⽅机构发布的 Python 免费发⾏版, 它们在官⽅版本的基础上开发⽽来,并有针对性的提前安装了⼀些 Python 模块,从⽽满⾜某些特定领域的需求,⽐如专门适应于科学计算领域的 Anaconda,它就提前安装了多款适⽤于科学计算的软件包。
对于第三⽅发⾏版⽽⾔,它们已经⾃带 Pandas 库,所以⽆须另⾏安装。下⾯介绍了常⽤的免费发⾏版:typedef英文读音
1.
2.
3.
下⾯介绍在不同操作系统环境下,标准发⾏版安装 Pandas 的⽅法。
Windows系统安装
使⽤ pip 包管理器安装 Pandas,是最简单的⼀种安装⽅式。在 CMD 命令提⽰符界⾯⾏执⾏以下命令:
pip install pandas
Linux系统安装
对于不同的版本的 Linux 系统,您可以采⽤它们各⾃的包管理器来安装 Pandas。
1) Ubuntu⽤户
Pandas 通常需要与其他软件包⼀起使⽤,因此可采⽤以下命令,⼀次性安装所有包:
sudo apt-get install numpy scipy matplotlib pandas
2) Fedora⽤户
对于 Fedora ⽤户⽽⾔,可采⽤以下命令安装:
sudo yum install numpy scipy matplotlib pandas
MacOSX系统安装
对于 Mac ⽤户⽽⾔,同样可以直接使⽤ pip 包管理器来安装,命令如下:
pip install pandas
Pandas Series⼊门教程
Series 结构,也称 Series 序列,是 Pandas 常⽤的数据结构之⼀,它是⼀种类似于⼀维数组的结构,由⼀组数据值(value)和⼀组标签组成,其中标签与数据值之间是⼀⼀对应的关系。
Series 可以保存任何数据类型,⽐如整数、字符串、浮点数、Python 对象等,它的标签默认为整数,从 0 开始依次递增。Series 的结构图,如下所⽰:
通过标签我们可以更加直观地查看数据所在的索引位置。
创建Series对象
Pandas 使⽤ Series() 函数来创建 Series 对象,通过这个对象可以调⽤相应的⽅法和属性,从⽽达到处理数据的⽬的:
import pandas as pd
s=pd.Series( data, index, dtype, copy)
参数说明如下所⽰:
参数名称描述
data输⼊的数据,可以是列表、常量、ndarray 数组等。
index索引值必须是惟⼀的,如果没有传递索引,则默认为 np.arrange(n)。
dtype dtype表⽰数据类型,如果没有提供,则会⾃动判断得出。
copy表⽰对 data 进⾏拷贝,默认为 False。
我们也可以使⽤数组、字典、标量值或者 Python 对象来创建 Series 对象。下⾯展⽰了创建 Series 对象的不同⽅法:
1) 创建⼀个空Series对象
使⽤以下⽅法可以创建⼀个空的 Series 对象,如下所⽰:
import pandas as pd
#输出数据为空
s = pd.Series()
print(s)
输出结果如下:
Series([], dtype: float64)
2) ndarray创建Series对象
ndarray 是 NumPy 中的数组类型,当 data 是 ndarry 时,传递的索引必须具有与数组相同的长度。假如没有给 index 参数传参,在默认情况下,索引值将使⽤是 range(n) ⽣成,其中 n 代表数组长度,如下所⽰:
[0,1,2,3…. range(len(array))-1]
使⽤默认索引,创建 Series 序列对象:
import pandas as pd
社区团购系统源码
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print(s)
输出结果如下:
0  a
1  b
2  c
3  d
dtype: object
上述⽰例中没有传递任何索引,所以索引默认从 0 开始分配 ,其索引范围为 0 到len(data)-1,即 0 到 3。这种设置⽅式被称为“隐式索引”。
除了上述⽅法外,你也可以使⽤“显式索引”的⽅法定义索引标签,⽰例如下:
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
#⾃定义索引标签(即显⽰索引)
s = pd.Series(data,index=[100,101,102,103])
print(s)
输出结果:
100  a
101  b
102  c
103  d
dtype: object
3) dict创建Series对象
您可以把 dict 作为输⼊数据。如果没有传⼊索引时会按照字典的键来构造索引;反之,当传递了索引时需要将索引标签与字典中的值⼀⼀对应。
下⾯两组⽰例分别对上述两种情况做了演⽰。
⽰例1,没有传递索引时:
import pandas as pd
import numpy as np
data ={'a':0.,'b':1.,'c':2.}
s = pd.Series(data)
print(s)电脑主板disabled什么意思
输出结果:
a 0.0
b 1.0
c 2.0
dtype: float64
⽰例 2,为index参数传递索引时:
import pandas as pdwin11 sql2000
import numpy as np
data ={'a':0.,'b':1.,'c':2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。