1 简介

  描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律、特征做出综合性的描述分析。

  下列表格对 Pandas 常用的统计学函数做了简单的总结:

函数名称 描述说明
count() 统计某个非空值的数量。
sum() 求和
mean() 求均值
median() 求中位数
mode() 求众数
std() 求标准差
min() 求最小值
max() 求最大值
abs() 求绝对值
prod() 求所有数值的乘积。
cumsum() 计算累计和,axis=0,按照行累加;axis=1,按照列累加。
cumprod() 计算累计积,axis=0,按照行累积;axis=1,按照列累积。
corr() 计算数列或变量之间的相关系数,取值-1到1,值越大表示关联性越强。

  在 DataFrame 中,使用聚合类方法时需要指定轴(axis)参数。下面介绍两种传参方式:

    • 对行操作,默认使用 axis=0 或者使用 "index";
    • 对列操作,默认使用 axis=1 或者使用 "columns"。

    

  从上图可看出,axis=0 表示按垂直方向进行计算,而 axis=1 则表示按水平方向。

  创建一个 DataFrame 结构,如下所示:

d = {'Name':pd.Series(['Jack','Blair','Jane','Lee']),
'Age':pd.Series([11,12,13,14]),
'Score':pd.Series([1,2,3,4])
}
df = pd.DataFrame(d)
print(df)

  输出结果:

    Name  Age  Score
0 Jack 11 1
1 Blair 12 2
2 Jane 13 3
3 Lee 14 4

2 应用

2.1 sum()求和

  在默认情况下,返回 axis=0 的所有值的和。示例1 如下:

df.sum()

  输出结果:

Name     JackBlairJaneLee
Age 50
Score 10
dtype: object

  注意:sum() 和 cumsum() 函数可以同时处理数字和字符串数据。虽然字符聚合通常不被使用,但使用这两个函数并不会抛出异常;而对于 abs()、cumprod() 函数则会抛出异常,因为它们无法操作字符串数据。

  示例2

df.sum(axis= 1)#只对number数据进行处理

  输出结果:

0    12
1 14
2 16
3 18
dtype: int64

2.2 mean()求均值

  示例3

df.mean()#只对number数据进行处理

  输出结果:

Age      12.5
Score 2.5
dtype: float64

  示例4

df.mean(axis=1)#只对number数据进行处理

  输出结果:

0    6.0
1 7.0
2 8.0
3 9.0
dtype: float64

2.3 std()求标准差

  返回数值列的标准差。

  标准差是方差的算术平方根,它能反映一个数据集的离散程度。注意,平均数相同的两组数据,标准差未必相同。

  示例5

df.std()

  输出结果:

Age      1.290994
Score 1.290994
dtype: float64

  示例6

df.std(axis = 1)

  输出结果:

0    7.071068
1 7.071068
2 7.071068
3 7.071068
dtype: float64

2.4 数据汇总描述

  describe()  函数显示与 DataFrame 数据列相关的统计信息摘要。

  示例7

df.describe()

  输出结果:

	Age	        Score
count 4.000000 4.000000
mean 12.500000 2.500000
std 1.290994 1.290994
min 11.000000 1.000000
25% 11.750000 1.750000
50% 12.500000 2.500000
75% 13.250000 3.250000
max 14.000000 4.000000

  describe() 函数输出了平均值、std 和 IQR 值(四分位距)等一系列统计信息。通过 describe() 提供的include能够筛选字符列或者数字列的摘要信息。

  include 相关参数值说明如下:

    • object: 表示对字符列进行统计信息描述;
    • number:表示对数字列进行统计信息描述;
    • all:汇总所有列的统计信息。

  示例8:

df.describe(include=['number'])

  输出结果:

	Age	        Score
count 4.000000 4.000000
mean 12.500000 2.500000
std 1.290994 1.290994
min 11.000000 1.000000
25% 11.750000 1.750000
50% 12.500000 2.500000
75% 13.250000 3.250000
max 14.000000 4.000000

  示例9:

df.describe(include='object')

  输出结果:

	Name
count 4
unique 4
top Blair
freq 1

  示例10:

df.describe(include='all')

  输出结果:

	Name	Age	Score
count 4 4.000000 4.000000
unique 4 NaN NaN
top Blair NaN NaN
freq 1 NaN NaN
mean NaN 12.500000 2.500000
std NaN 1.290994 1.290994
min NaN 11.000000 1.000000
25% NaN 11.750000 1.750000
50% NaN 12.500000 2.500000
75% NaN 13.250000 3.250000
max NaN 14.000000 4.000000

Lesson6——Pandas Pandas描述性统计的更多相关文章

  1. Pandas | 06 描述性统计

    有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数. 一般来说,这些方法采用轴参数,就像ndarray.{sum,std,...} ...

  2. Pandas 之 描述性统计案例

    认识 jupyter地址: https://nbviewer.jupyter.org/github/chenjieyouge/jupyter_share/blob/master/share/panda ...

  3. Pandas描述性统计

    有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数,但其中一些,如sumsum(),产生一个相同大小的对象. 一般来说,这些方法采 ...

  4. pandas(5):数学统计——描述性统计

    Pandas 可以对 Series 与 DataFrame 进行快速的描述性统计,方便快速了解数据的集中趋势和分布差异.源Excel文件descriptive_statistics.xlsx: 一.描 ...

  5. 10分钟了解 pandas - pandas官方文档译文 [原创]

    10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...

  6. Python实现描述性统计

    该篇笔记由木东居士提供学习小组.资料 描述性统计的概念很好理解,在日常工作中我们也经常会遇到需要使用描述性统计来表述的问题.以下,我们将使用Python实现一系列的描述性统计内容. 有关python环 ...

  7. 使用Python进行描述性统计

    目录 1 描述性统计是什么?2 使用NumPy和SciPy进行数值分析 2.1 基本概念 2.2 中心位置(均值.中位数.众数) 2.3 发散程度(极差,方差.标准差.变异系数) 2.4 偏差程度(z ...

  8. \(\S1\) 描述性统计

    在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...

  9. 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列

    最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...

  10. 基于R语言的数据分析和挖掘方法总结——描述性统计

    1.1 方法简介 描述性统计包含多种基本描述统计量,让用户对于数据结构可以有一个初步的认识.在此所提供之统计量包含: 基本信息:样本数.总和 集中趋势:均值.中位数.众数 离散趋势:方差(标准差).变 ...

随机推荐

  1. SpringCloud创建Config Client通过Eureka访问Config

    1.说明 本文详细介绍配置中心客户端使用方法, 即Config Client到Config Server读取配置. 读取配置的方式有两种, 第一种是直接配置Configer Server的URL, 第 ...

  2. 将ymal文件内容转换成字典格式

    yaml文件内容如图: 转换代码如下: import yaml def init_yaml(): with open(r"..\config.yaml", 'r', encodin ...

  3. spring-Ioc学习笔记

    spring 是面向Bean的编程 Ioc (Inversion of Control) 控制反转/依赖注入(DI:Dependency Injection) Aop(Aspect Oriented ...

  4. MYSQL实现上一条下一条功能

    select id from(select *, (@i:=@i+1) as rownum from pre_bet_zhibo,(select @i:=0) as itwhere link_cone ...

  5. nuxt服务端渲染

    <template> <div class="page"> page is search <ul> <li v-for="(it ...

  6. Vue系列教程(二)之Vue进阶

    一.Vue对象的操作 1. 可以通过一个Vue对象操作另一个Vue对象 var v1 = new Vue({ el: "#app1", data: {title:"hel ...

  7. HDU 2673-shǎ崽 OrOrOrOrz(C语言描述)

    问题描述 问题是: 为您提供了一系列不同的整数, 请选择 "数字" 如下: 首先选择最大的, 然后是最小的, 然后是第二个最大的, 第二个最小的. 直到所有的数字被选中.例如, 给 ...

  8. R语言:关于rJava包的安装

    R语言:关于rJava包的安装  盐池里的萝卜 2014-09-14 00:53:33 在做文本挖掘的时候,会发现分词时候rJava是必须要迈过去的坎儿,所以进行了总结: 第一步:安装rJava和jd ...

  9. 封装OCX

    封装OCX的办法有2种: 1. 使用C++的MFC activex项目生成OCX 2. 使用C#的用户控件生成OCX(.net core好像不支持) 注意:以管理员身份运行Visual Studio ...

  10. 博客新手:图片URL的生成

    作为一名博客小白,本人是在美化自己的博客时,发现自定义背景等操作需要提供图片的URL,而不是直接上传图片.那么什么是URL呢?我们又该如何获取它呢? 什么是URL 根据维基百科:统一资源定位符(英语: ...