Lesson6——Pandas Pandas描述性统计
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描述性统计的更多相关文章
- Pandas | 06 描述性统计
有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数. 一般来说,这些方法采用轴参数,就像ndarray.{sum,std,...} ...
- Pandas 之 描述性统计案例
认识 jupyter地址: https://nbviewer.jupyter.org/github/chenjieyouge/jupyter_share/blob/master/share/panda ...
- Pandas描述性统计
有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数,但其中一些,如sumsum(),产生一个相同大小的对象. 一般来说,这些方法采 ...
- pandas(5):数学统计——描述性统计
Pandas 可以对 Series 与 DataFrame 进行快速的描述性统计,方便快速了解数据的集中趋势和分布差异.源Excel文件descriptive_statistics.xlsx: 一.描 ...
- 10分钟了解 pandas - pandas官方文档译文 [原创]
10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...
- Python实现描述性统计
该篇笔记由木东居士提供学习小组.资料 描述性统计的概念很好理解,在日常工作中我们也经常会遇到需要使用描述性统计来表述的问题.以下,我们将使用Python实现一系列的描述性统计内容. 有关python环 ...
- 使用Python进行描述性统计
目录 1 描述性统计是什么?2 使用NumPy和SciPy进行数值分析 2.1 基本概念 2.2 中心位置(均值.中位数.众数) 2.3 发散程度(极差,方差.标准差.变异系数) 2.4 偏差程度(z ...
- \(\S1\) 描述性统计
在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...
- 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...
- 基于R语言的数据分析和挖掘方法总结——描述性统计
1.1 方法简介 描述性统计包含多种基本描述统计量,让用户对于数据结构可以有一个初步的认识.在此所提供之统计量包含: 基本信息:样本数.总和 集中趋势:均值.中位数.众数 离散趋势:方差(标准差).变 ...
随机推荐
- 15 - Vue3 UI Framework - 完工部署
项目官网也基本完成了,接下来我们再讲一下如何将项目官网部署到 GitHub Pages 上 返回阅读列表点击 这里 项目配置 常见的模式有三种,即 History 模式 Hash 模式 Memory ...
- java 封装 总结
1.前言 老是被问什么是java 封装...很基础的一个问题 ,其实我们一直在写的东西但不知道怎么称呼. 比如 在entity实体类 里面老用到的 getter 和 setter 方法其实就是封装的方 ...
- tomcat启动卡在了 At least one JAR was scanned for TLDs yet contained no TLDs 的根本原因与解决办法
1.前言 有时候服务器开启时启动不了,卡在了 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned fo ...
- 解决ubuntu 18.04(桌面版)搜狗输入法不能正常使用的问题
ubuntu下搜狗输入法的配置文件在~/.config目录下,一般有三个目录SogouPY.SogouPY.users.sogou-qimpanel 执行命令 $ cd ~/.config $ rm ...
- Mysql设计遵循规则
为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢数据是存放在磁盘上的,读写速度无法和内存相比 如何优化设计数据库时:数据库表. ...
- 【Python自动化Excel】pandas处理Excel数据的基本流程
这里所说的pandas并不是大熊猫,而是Python的第三方库.这个库能干嘛呢?它在Python数据分析领域可是无人不知.无人不晓的.可以说是Python世界中的Excel. pandas库处理数据相 ...
- GitHub 公布 2021 Top 10 博文「GitHub 热点速览」
作者:HelloGitHub-小鱼干 2021 年在这周彻底同我们告别了,在本周的「News 快读」模块你可以看到过去一年 GitHub 的热门文章,其中有我们熟悉的可能让很多程序员"失业& ...
- 浅谈xss漏洞
0x00 xss漏洞简介 XSS漏洞是Web应用程序中最常见的漏洞之一.如果您的站点没有预防XSS漏洞的固定方法, 那么很可能就存在XSS漏洞. 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Scr ...
- IntelliJ IDEA最新破解方法
IntelliJ IDEA最新破解方法 首先说下,本人使用idea版本是2021.2.3. 一.下载IDEA(推荐从官网下载) 官网地址:https://www.jetbrains.com/idea/ ...
- 获取app启动时间
启动APP并收集消耗时间的命令: adb shell am start -W -n package/activity 手动关闭谷歌浏览器APP(也可以使用命令关闭adb shell am force ...