数据分析入门系列(一) Pandas

 
 

Pandas这个东西在数据的世界里用的还是很频繁的,主要是用起来会比较方便。pandas是基于numpy的基础上进行开发的,所以安装pandas的时候会自带性的把numpy也安装上去。

640?wx_fmt=png

今天我们就来用心看看,Pandas是怎样的一个数据结构呢?

640?wx_fmt=png

今天我们就主要来聊聊Series~~~~

Pandas Series

Pandas里面的Serise是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。(注意:Series中的索引值是可以重复的)

我们可以看一下下面这一张图:

640?wx_fmt=png

这样的一列就是一个Series。 对于每一列而言,他们都是一个series,这就像数据库表里面的列。

那我们来看看下面这张图,如何来创建一个Series。

640?wx_fmt=png

直接使用pandas去找Series就可以啦!

 
 
 
 

640?wx_fmt=png

我们来看一下运行结果:

a的运行结果就是一列索引对应着一列值(索引的值和给的值是一一对应的~~就和python里面的字典一样)。如果没有指定索引的值,默认是从0开始的,就和python里面的list取值是一样的。

如果需要改变索引,只需要在Series方法里面加上index参数即可修改索引,不过要注意的是,给定数据的长度要和索引的长度是一样的,这样才会生效,否则就会报错。

下面我们来看一下series的属性:

编号属性/方法描述
1axes返回行轴标签列表。
2dtype返回对象的数据类型(dtype)。
3empty如果系列为空,则返回True。
4ndim返回底层数据的维数,默认定义:1。
5size返回基础数据中的元素数。
6values将系列作为ndarray返回。
7head()返回前n行。
8tail()返回最后n行。

下面问题来了,我们如何结合Numpy去创建一个Series呢?

 
 

我们可以直接把nparray生成的数据当作参数放到Serise里面。

640?wx_fmt=png

如果想指定索引的值可以加上index参数:

 
 

640?wx_fmt=png

那如何使用字典创建Series呢?

 
 

640?wx_fmt=png

也是直接创建即可。

讲完了创建那就来说一说取值吧,Series里面的值如何取出来呢?

Series值的获取主要有两种方式:

[0,len(Series.values));

另外下标值也可以是负数,表示从右往左获取数据。

 
 

可以使用默认索引,也可以使用给定的索引。

640?wx_fmt=png

它还可以像python里面的list一样进行切片。

 
 

640?wx_fmt=png

Series里面的删除操作使用的是drop方法和pop方法:

 
 

640?wx_fmt=png

使用drop方法的时候会生成一个新的Series,新的Series里面就是删除该元素的Series,

使用pop方法删除,就是对原来的Series进行修改删除。

如果你想在Series中插入值的话,和字典的原理是一样的:

 
 
 
 
 
 

640?wx_fmt=png

当然还可以使用append方法进行添加,但是和刚刚不一样的是,他会生成一个新的Series来存储添加后的数据:

 
 

640?wx_fmt=png

最后我们来说一下Series里面的统计函数。

1、求和函数SUM

 
 

640?wx_fmt=png

数学达到高数水平的可以简单看看下面这个表达式:

640?wx_fmt=png

2、均值函数MEAN

 
 

640?wx_fmt=png

同样的,数学表达式如下:

640?wx_fmt=png

3、最大函数MAX

max函数可以返回series里最大值,而idxmax返回的是其index或者label。

 
 

640?wx_fmt=png

4、方差函数VAR

方差说起来比较抽象,算起来就是拿每个数和平均数做差再平方,注意考量的就是这串数据的稳定性。方差越小越好,

举个例子,小明的高考冲刺模拟五次成绩是303,321,339,288,403,小刚的成绩是,323,351,343,328,311请问哪个同学的成绩更加稳定?

(不要问分数为什么这么低-------江苏省高考)

很明显我们可以看到小刚的成绩更加趋于稳定,因为小刚成绩的波动范围比较小,不像小明,波动的比较大。

那么我们用方差来论证这个观点:

 
 

640?wx_fmt=png

很明显我们可以看到,小刚的方差更小,所以小刚的成绩更加稳定。

数学公式如下:

640?wx_fmt=png

5、标准差函数STD

说的简单一点,他就是和方差一样的,也是考量一组数据的稳定性,具体值就是方差开平方。也就是把上面那个表达式的平方去掉即可。

 
 

640?wx_fmt=png

数学表达式:

640?wx_fmt=png

6、平均绝对离差函数MAD

平均绝对离差是用样本数据相对于其平均值的绝对距离来度量数据的离散程度。

画个图你就懂了:

640?wx_fmt=png

红线就是平均值,红色的小点点就是一组数据,距离红线越近就越偏向稳定。用肉眼看来,很明显上面一个数据会比较好。

我们依旧用小明和小刚的分数来算平均绝对离差:

 
 

640?wx_fmt=png

还是小刚的数据比较小。

数学表达式:

640?wx_fmt=png

(每个数据减去均值求绝对值,如何再求这些绝对值的平均值)

总的来说,我们期望数据的离散程度越小越好(就是分布的范围越小越好)。

上面的三个函数,都是用来计算数据的离散程度的。

7、协方差函数COV

表达式:

640?wx_fmt=png

(别问我啥意思了,根据上面的表达式,自己猜一下吧-_-!

提示:方差是协方差的一种特殊情况,即当两个变量是相同的情况

看下面的代码理解一下:

 
 

640?wx_fmt=png

8、偏态值函数SKEW

偏态值用于衡量成绩分布服从正态分布的程度

正态分布,又叫常态分布,像一只倒扣的钟。两头低,中间高,左右对称。大部分数据集中在平均值,小部分在两端,如下图:

640?wx_fmt=png

 
 

640?wx_fmt=png

9、峰度函数KURT

峰度(Kurtosis)衡量实数随机变量概率分布的峰态。峰度高就意味着方差增大是由低频度的大于或小于平均值的极端差值引起的。

640?wx_fmt=png

在相同的标准差下,峰度系数越大,分布就有更多的极端值,那么其余值必然要更加集中在众数周围,其分布必然就更加陡峭。

640?wx_fmt=png

关于Series的内容差不多到这里就结束啦!有问题可以私信进行提问哦!(因为暂不支持留言,只能私信啦!)

640?wx_fmt=gif
640?wx_fmt=png
猜你

 


640?wx_fmt=png
时刻

01. 公众号后台回复「06」获取「数据仓库」「数据治理」等经典大数据和数据仓库电子书或视频赠送。

02. 如要获取《大牛带你从0到1建设数据仓库》实战高清PPT或数仓实战视频,请关注公众号后添加小助手微信[ IDiom1128 昵称:紫霞仙子],备注:PPT。

03. 高手如云,拉您入群「数据」,「爬虫」、「资源分享」,公众号后台回复:加群。技术大佬们在等你,各种资源定期分享~


640?wx_fmt=jpeg
640?wx_fmt=png
真爱粉,记得星标或置顶哦!点个[在看]吧~ 

 !据说喜欢分享的,后来都成了大神 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值