apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇

admin 3周前 (11-08) 科技 79 1

本文始发于小我私家民众号:TechFlow,原创不易,求个关注


上周我们关于Python中科学盘算库Numpy的先容就竣事了,今天我们最先先容一个新的常用的盘算工具库,它就是赫赫有名的Pandas

Pandas的全称是Python Data Analysis Library,是一种基于Numpy的科学盘算工具。它最大的特点就是可以像是操作数据库当中的表一样操作结构化的数据,以是它支持许多庞大和高级的操作,可以认为是Numpy的加强版。它可以很利便地从一个csv或者是excel表格当中构建出完整的数据,并支持许多表级别的批量数据盘算接口。

安装使用

和险些所有的Python包一样,pandas也可以通过pip举行安装。若是你装过Anaconda套件的话,那么像是numpy、pandas等库已经自动安装好了,若是没有安装过也没有关系,我们使用一行下令即可完成安装。

pip install pandas

和Numpy一样,我们在使用pandas的时刻通常也会给它起一个别名,pandas的别名是pd。以是使用pandas的老例都是:

import pandas as pd

若是你运行这一行没有报错的话,那么说明你的pandas已经安装好了。一样平常和pandas经常一起使用的另有另外两个包,其中一个也是科学盘算包叫做Scipy,另外一个是对数据举行可视化作图的工具包,叫做Matplotlib。我们也可以使用pip将这两个包一起安装了,在之后的文章当中,用到这两个包的时刻,也会简朴先容一下它们的用法。

pip install scipy matplotlib

Series 索引

在pandas当中我们最常用的数据结构有两个,一个是Series另外一个是DataFrame。其中series是一维数据结构,可以简朴明了成一维数组或者是一维向量。而DataFrame自然就是二维数据结构了,可以明了成表或者是二维数组。

我们先来看看Series,Series当中存储的数据主要有两个,一个是一组数据组成的数组,另外一个是这组数据的索引或者是标签。我们简朴建立一个Series打印出来看一下就明了了。

这里我们随意建立了一个包罗四个元素的Series,然后将它打印了出来。可以看到打印的数据一共有两列,第二列是我们适才建立的时刻输入的数据,第一列就是它的索引。由于我们建立的时刻没有特意指定索引,以是pandas会自动为我们建立行号索引,我们可以通过Series类型当中的values和index属性查看到Series当中存储的数据和索引:

这里输出的values是一个Numpy的数组,这并不新鲜,由于我们前面说了,pandas是一个基于Numpy开发的科学盘算库,Numpy是它的底层。从打印出来的index的信息当中,我们可以看到这是一个Range类型的索引,它的局限以及步长。

索引是Series构建函数当中的一个默认参数,若是我们不填,它默认会为我们天生一个Range索引,实在也就是数据的行号。我们也可以自己指定数据的索引,好比我们在适才的代码当中加入index这个参数,我们就可以自己指定索引了。

当我们指定了字符类型的索引之后,index返回的效果就不再是RangeIndex而是Index了。说明pandas内部对数值型索引和字符型索引是做了区分的。

有了索引,自然是用来查找元素用的。我们可以直接将索引当做是数组的下标使用,两者的效果是一样的。不仅如此,索引数组也是可以接受的,我们可以直接查询若干个索引的值。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第1张

另外在建立Series的时刻,重复的索引也是允许的。同样当我们使用索引查询的时刻也会获得多个效果。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第2张

不仅如此,像是Numpy那样的bool型索引也依然是支持的:

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第3张

Series盘算

Series支持许多类型的盘算,我们可以直接使用加减乘除操尴尬刁难整个Series举行运算

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第4张

也可以使用Numpy当中的运算函数来举行一些庞大的数学运算,然则这样盘算获得的效果会是一个Numpy的array。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第5张

由于Series当中有索引,以是我们也可以使用dict的方式判断索引是否在Series当中

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第6张

Series有索引也有值,实在和dict的存储结构是一样的,以是Seires也支持通过一个dict来初始化:

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第7张

通过这种方式建立出来的顺序就是dict当中key存储的顺序,我们可以在建立的时刻指定index,这样就可以控制它的顺序了。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第8张

我们在指定index的时刻分外传入了一个没有在dict当中泛起过的key,由于在dict当中找不到对应的值,Series会将它记成NAN(Not a number)。可以明了成是非法值或者是空值,在我们处置特征或者是训练数据的时刻,经常会遇到存在一些条目的数据的某个特征空缺的情形,我们可以通过pandas当中isnull和notnull函数检查空缺的情形。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第9张

固然Series当中也有isnull的函数,我们也可以挪用。

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第10张

最后,Series当中的index也是可以修改的, 我们可以直接给它赋上新值:

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第11张

总结

从焦点本质上来说,pandas当中的Series就是在Numpy一维数组上做的一层封装,加上了索引等一些相关的功效。以是我们可以想见DataFrame实在就是一个Series的数组的封装,加上了更多数据处置相关的功效。我们把焦点结构掌握住了,再来明了整个pandas的功效要比我们一个一个死记这些api有用得多。

pandas是Python数据处置的一大利器,作为一个及格的算法工程师险些是必会的内容,也是我们使用Python举行机械学习以及深度学习的基础。凭据观察资料显示,算法工程师一样平常的事情有70%的份额投入在了数据处置当中,真正用来实现模子、训练模子的只有30%不到。因此可见数据处置的重要性,想要在行业当中有所发展,绝不仅仅是学会模子就足够的。

文章就到这里,若是喜欢本文,可以的话,请点个关注,给我一点激励,也利便获取更多文章。

本文使用 mdnice 排版

apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇 第12张

,

联博以太坊

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

Sunbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:apple developer enterprise account for rent:pandas | 使用pandas举行数据处理——Series篇

网友评论

  • (*)

最新评论

  • 联博 2020-11-08 00:01:20 回复

    欧博官网欢迎进入欧博官网(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。么么哒作者

    1

标签列表

    文章归档

      站点信息

      • 文章总数:653
      • 页面总数:0
      • 分类总数:8
      • 标签总数:1015
      • 评论总数:270
      • 浏览总数:16932