数据分析实践入门(四):数据运算

本文详细介绍了在数据处理与分析过程中常用的算术、比较、汇总和相关性运算,包括加减乘除、非空值计数、求和、求均值、求最大值、求最小值、求中位数、求众数、求方差、求标准差、求分位数和计算相关系数等操作在Excel和Python中的实现方法。
13825820-74a00ea439845937.jpg

作者 | CDA数据分析师

进行到这一步就可以开始正式的烹饪了。前面我们列举了不同纬度的分析指标,这一章我们主要看看这些指标都是怎么计算出来的。

一、算术运算

算术运算就是基本的加减乘除,在Excel或Python中数值类型的任意两列可以直接进行加、减、乘、除运算,而且是对应元素进行加、减、乘、除运算,Excel 中的算术运算比较简单,这里就不展开了,下面主要介绍Python中的算术运算。

列相加的具体实现如下所示。

13825820-66280392fb779e4a.jpg

两列相减的具体实现如下所示。

13825820-48ca6ec80e932b6c.jpg

两列相乘的具体实现如下所示。

13825820-5ffade7d36a8bf5d.jpg

两列相除的具体实现如下所示。

13825820-e8ce205ded473136.jpg

任意一列加/减一个常数值,这一列中的所有值都加/减这个常数值,具体实现如下所示。

13825820-9c704332335e152d.jpg

任意一列乘/除一个常数值,这一列中的所有值都乘/除这一常数值

13825820-827754edce4756ff.jpg
13825820-e10e7b29ce9ba465.jpg

二、比较运算

比较运算和Python基础知识中讲到的比较运算一致,也是常规的大于、等于、小于之类的,只不过这里的比较是在列与列之间进行的。常用的比较运算符见2.9.2节。

在Excel中列与列之间的比较运算和Python中的方法一致,例子如下图所示。

13825820-05861fbc093fc010.jpg

下面是一些Python中列与列之间比较的例子。

13825820-8526d524c83e16bd.jpg
13825820-6c220018a99a4443.jpg

三、汇总运算

讲到的算术运算和比较运算都是在列与列之间进行的,运算结果是有多少行的值就会返回多少个结果,而汇总运算是将数据进行汇总返回一个汇总以后的结果值。

1、 count非空值计数

非空值计数就是计算某一个区域中非空(单元格)数值的个数。

在Excel中 counta ( ) 函数用于计算某个区域中非空单元格的个数。与 counta ( ) 函数类似的一个函数是count()函数,它用于计算某个区域中含有数字的单元格的个数。

在 Python 中,直接在整个数据表上调用 count ( ) 函数,返回的结果为该数据表中每列的非空值的个数,具体实现如下所示。

13825820-d095d8a71d9fea8c.jpg

count ( ) 函数默认是求取每一列的非空数值的个数,可以通过修改axis参数让其等于1,来求取每一行的非空数值的个数。

13825820-9a5c40a89a0e4374.jpg

也可以把某一列或者某一行索引出来,单独查看这一列或这一行的非空值个数。

13825820-3bb20211da2aa8b4.jpg

2、 sum求和

求和就是对某一区域中的所有数值进行加和操作。

在 Excel 中要求取某一区域的和,直接在 sum ( ) 函数后面的括号中指明要求和的区域,即要对哪些值进行求和操作即可。例子如下所示。

13825820-0a222cd1295bef61.jpg

在Python中,直接在整个数据表上调用 sum ( ) 函数,返回的是该数据表每一列的求和结果,例子如下所示。

13825820-3b845cd59e071f52.jpg

sum ( ) 函数默认对每一列进行求和,可通过修改axis参数,让其等于1,来对每一行的数值进行求和操作。

13825820-0debe058c32e29c1.jpg

也可以把某一列或者某一行索引出来,单独对这一列或这一行数据进行求和操作。

13825820-f7ac015c4993c178.jpg
13825820-04cae12d7b05735d.jpg

3、mean求均值

求均值是针对某一区域中的所有值进行求算术平均值运算。均值是用来衡量数据一般情况的指标,容易受到极大值、极小值的影响。

在Excel中对某个区域内的值进行求平均值运算,用的是 average ( ) 函数,只要在average ( ) 函数中指明要求均值运算的区域即可,比如:

13825820-971790f06814ae9f.jpg

在Python中的求均值利用的是mean()函数,如果对整个表直接调用 mean ( ) 函数,返回的是该表中每一列的均值。

13825820-e3cb0da6a39fd0ab.jpg

mean ( ) 函数默认是对数据表中的每一列进行求均值运算,可通过修改 axis 参数,让其等于1,来对每一行进行求均值运算。

13825820-f21e22b638e22b56.jpg

也可以把某一列或者某一行通过索引的方式取出来,然后在这一行或这一列上调用mean ( ) 函数,单独求取这一行或这一列的均值。

13825820-fb7de470c19fc48a.jpg

4、 max求最大值

求最大值就是比较一组数据中所有数值的大小,然后返回最大的一个值。

在Excel和Python中,求最大值使用的都是 max ( ) 函数,在Excel中同样只需要在 max ( ) 函数中指明要求最大值的区域即可;在Python中,和其他函数一样,如果对整个表直接调用 max ( ) 函数,则返回该数据表中每一列的最大值。 max ( ) 函数也可以对每一行求最大值,还可以单独对某一行或某一列求最大值。

13825820-ec8f1d10efdd8329.jpg
13825820-625b3cbd41dffa6b.jpg

5、 min求最小值

求最小值与求最大值是相对应的,通过比较一组数据中所有数值的大小,然后返回最小的那个值。

在Excel和Python中都使用 min ( ) 函数来求最小值,它的使用方法与求最大值的类似,这里不再赘述。示例代码如下。

13825820-9303e21b450c1633.jpg

6、 median求中位数

中位数就是将一组含有n个数据的序列X按从小到大排列,位于中间位置的那个数。

中位数是以中间位置的数来反映数据的一般情况,不容易受到极大值、极小值的影响,因而在反映数据分布情况上要比平均值更有代表性。

现有序列为X:{X1、X2、X3、......、Xn}。

如果n为奇数,则中位数:

13825820-46daaf54ffbfd588.jpg

如果n为偶数,则中位数:

13825820-a6d261d8a418da31.jpg

例如,1、3、5、7、9的中位数为5,而1、3、5、7的中位数为(3+5)/2=4。

在Excel和Python中求一组数据的中位数,都是使用 median ( ) 函数来实现的。

下面为在Excel中求中位数的示例:

13825820-5312d45a9efb0653.jpg

在Python中,median ( ) 函数的使用原则和其他函数的一致。

13825820-6a9b7ba3c2183586.jpg
13825820-c034e386e28cd444.jpg

7、mode求众数

顾名思义,众数就是一组数据中出现次数最多的数,求众数就是返回这组数据中出现次数最多的那个数。

在Excel和Python中求众数都使用 mode ( ) 函数,使用原则与其他函数完全一致。

在Excel中求众数的示例如下:

13825820-44f4f4a23b8eb923.jpg

在Python中求众数的示例如下:

13825820-f8678a2f430756f4.jpg
13825820-f6a9d0eb273bbc34.jpg

8、 var 求方差

方差是用来衡量一组数据的离散程度(即数据波动幅度)的。

在Excel和Python中求一组数据中的方差都使用 var ( ) 函数。

下面为在Excel中求方差的示例:

13825820-fc25e6e9b8c5f32d.jpg

在Python中, var ( ) 函数的使用原则和其他函数的一致。

13825820-c4ba9ae8a5245323.jpg

9、 std 求标准差

标准差是方差的平方根,二者都是用来表示数据的离散程度的。

在Excel中计算标准差使用的是 stdevp ( ) 函数,示例如下:

在 Python 中计算标准差使用的是 std ( ) 函数, std ( ) 函数的使用原则与其他函数的一致,示例如下:

13825820-58ba92c418eee12e.jpg

10、 quantile 求分位数

分位数是比中位数更加详细的基于位置的指标,分位数主要有四分之一分位数、四分之二分位数、四分之三分位数,而四分之二分位数就是中位数。

在Excel中求分位数用的是 percentile ( ) 函数,示例如下:

13825820-2378985484f05d5a.jpg

在Python中求分位数用的是 quantile ( ) 函数,要在 quantile 后的括号中指明要求取的分位数值, quantile ( ) 函数与其他函数的使用规则相同。

13825820-ad5a0b4c2123d267.jpg
13825820-37bb640a0add34de.jpg

四、 相关性运算

相关性常用来衡量两个事物之间的相关程度,比如我们前面举的例子:啤酒与尿布二者的相关性很强。我们一般用相关系数来衡量两者的相关程度,所以相关性计算其实就是计算相关系数,比较常用的是皮尔逊相关系数。

在Excel中求取相关系数用的是 correl ( ) 函数,示例如下:

13825820-20e2c59f1f3dfc0f.jpg

在Python中求取相关系数用的是 corr ( ) 函数,示例如下:

13825820-0a49781b22b4dc90.jpg

还可以利用 corr( ) 函数求取整个 DataFrame 表中各字段两两之间的相关性,示例如下:

13825820-c49b6bcc415b446b.jpg
13825820-5e218fb8bde7c1f5.jpg
13825820-26c37f7991d87e72.jpg

扫码进入CDA官方小程序,解锁更多新鲜资讯和优质内容,还有免费试听课程,不要错过哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值