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. 晴天小猪历险记之Hill(Dijkstra优先队列优化)

    描述 这一天,他来到了一座深山的山脚下,因为只有这座深山中的一位隐者才知道这种药草的所在.但是上山的路错综复杂,由于小小猪的病情,晴天小猪想找一条需时最少的路到达山顶,但现在它一头雾水,所以向你求助. ...

  2. Pebbles(hdu2167)

    Pebbles Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  3. webservice websocket socket http rpc

    HTTP: HTTP 是基于请求响应式的,即通信只能由客户端发起,服务端做出响应,无状态,无连接. webSocket: 服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向 ...

  4. Variational Inference with Normalizing Flow

    目录 概 主要内容 一些合适的可逆变换 代码 Rezende D., Mohamed S. Variational Inference with Normalizing Flow. ICML, 201 ...

  5. 【jvm】05-为什么你写的代码有时候和预期不一致

    [jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...

  6. Spring企业级程序设计 • 【目录】

    章节 内容 实践练习 Spring企业级程序设计目录(作业笔记) 第1章 Spring企业级程序设计 • [第1章 Spring之旅] 第2章 Spring企业级程序设计 • [第2章 Spring ...

  7. Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发

    效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  8. 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  9. Fiddler Everywhere简单使用

    重装了电脑,想装Fiddler,结果官网下载的包变成了Fiddler Everywhere,体验了下,与老版本相比,操作流程上并无太大变化,但是安装包明显变大了,而且需要登录才能操作,建议还是用老版本 ...

  10. 关闭SpringBoot logo图标

    public static void main(String[] args) {// SpringApplication.run(LicenseApp.class, args); //关闭Spring ...