【学习】数据处理基础知识(汇总和计算描述统计)【pandas】
pd对象拥有一组常用的数学和统计方法。大部分都属于约简和汇总统计,用于从Series中单个值,如sum 和 mean 或从DF的行或列中提取一个Series。
1、 描述和汇总统计方法
#汇总和计算描述统计
import numpy as np
import pandas as pd #定义一个4*2维的数据结构
df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75, -1.3]], index = list('abcd'), columns = ['one', 'two'])
df
#默认列汇总
df.sum()
#行汇总
df.sum(axis = 1) #Na值被自动排除,除非整个切片都是NA,通过 skipna选项可以禁用该功能
df.mean(axis =1, skipna = False)
df.sum()
Out[120]:
one 9.25
two -5.80
dtype: float64 df.sum(axis = 1)
Out[121]:
a 1.40
b 2.60
c 0.00
d -0.55
dtype: float64 df.mean(axis =1, skipna = False)
Out[122]:
a NaN
b 1.300
c NaN
d -0.275
dtype: float64
约简方法的选项

#定义一个4*2维的数据结构
df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75, -1.3]], index = list('abcd'), columns = ['one', 'two'])
df
#默认列汇总
df.sum()
#行汇总
df.sum(axis = 1) #Na值被自动排除,除非整个切片都是NA,通过 skipna选项可以禁用该功能
df.mean(axis =1, skipna = False) #有此方法,idmin 和 idxmax返回的是间接统计,比如达到最小值或最大值的索引
#达到最大值的索引
df.idxmax()
df.idxmin() #累计型方法
df
#累计汇总
df.cumsum() #describe用于一次性产生多个汇总统计
df.describe() #对于非数值型数据,describe会产生另外一种汇总统计
obj = pd.Series(['a', 'a', 'b', 'c'] * 4)
obj
obj.describe() obj.describe()
Out[130]:
count 16
unique 3
top a
freq 8
dtype: object
描述和汇总统计方法


2、 相关系数和协方差
有些汇总统计是通过参数对计算出来的
计算百分数变化:.pct_change()
Series的corr方法用于计算两个Series中重叠的、非NA的,按索引对齐的值的相关系数, cov用于计算协方差
DataFrame的corr和cov方法将以DataFrame的形式返回完整的相关系数或协方差矩阵
利用DataFrame的corrwith方法,计算其列或行跟另一个Series或DataFrame之间的相关系数
df = pd.DataFrame(np.random.randn(5, 10), index= list('abcde'), columns = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10'])
df
returns = df['x1'].pct_change()
returns
returns.tail()
df.x1.corr(df.x2)
df.x1.cov(df.x2)
df.corrwith(df.x3)
3、唯一值、值计数以及成员资格
#唯一值、值计数以及成员资格
obj = pd.Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])
obj
#第一个函数unique, 它可以得到Series中的唯一值数组
uniques = obj.unique()
uniques
uniques
Out[159]: array(['c', 'a', 'd', 'b'], dtype=object)
#返回的唯一值是未排序的,如果需要的话,对结果再次进行排序 (uniques.sort())
uniques.sort()
Out[164]: array(['a', 'b', 'c', 'd'], dtype=object)
#value_counts用于计算一个Series中各值出的频率
obj.value_counts()
Out[165]:
c 3
a 3
b 2
d 1
dtype: int64
#为了便于查看,结果Series是按值频率降序排列的
pd.value_counts(obj.values, sort = False)
Out[166]:
a 3
b 2
d 1
c 3
dtype: int64
#最后是isin,它用于判断矢量化集合的成员资格,可用于选取Series中或DataFrame列中数据的子集
mask = obj.isin(['b', 'c'])
mask
mask
Out[168]:
0 True
1 False
2 False
3 False
4 False
5 True
6 True
7 True
8 True
dtype: bool
obj[mask]
Out[169]:
0 c
5 b
6 b
7 c
8 c
dtype: object
#唯一值、值计数、成员资格方法
"""
isin 计算一个表示”Series各值是否包含于传入的值序列中“的布尔型数组
unique 计算Series中的唯一值数组,按发现的顺序返回
value_counts 返回一个Series, 其索引为唯一值,其值为频率,按计数值降序排序
"""
#有时,希望得到多个相关列的一张柱状图
data = pd.DataFrame({'Qu1':[1, 3, 4, 3, 4], 'Qu2':[2, 3, 1, 2, 3], 'Qu3': [1, 5, 2, 4, 4]})
data
Out[171]:
Qu1 Qu2 Qu3
0 1 2 1
1 3 3 5
2 4 1 2
3 3 2 4
4 4 3 4
#将value_counts传给该DF的apply函数就会出现
result = data.apply(pd.value_counts).fillna(0)
result Out[173]:
Qu1 Qu2 Qu3
1 1.0 1.0 1.0
2 0.0 2.0 1.0
3 2.0 2.0 0.0
4 2.0 0.0 2.0
5 0.0 0.0 1.0
【学习】数据处理基础知识(汇总和计算描述统计)【pandas】的更多相关文章
- 【学习】数据处理基础知识(基本功能)【pandas】
本章介绍pandas的重要功能,只记录一些重点内容 1.重新索引 pandas对象的一个重要方法是reindex,其作用是创建一个适应用新索引的新对象 #重新索引 obj = pd.Series([4 ...
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- jquery基础知识汇总
jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- 沉淀,再出发:Java基础知识汇总
沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
随机推荐
- 云硬盘性能测试工具FIO介绍
一.云硬盘的性能衡量指标 云硬盘的性能指标一般通过以下几个指标进行衡量 IOPS:每秒的读写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的IOPS 总IOPS:每秒执行的I/O操作总次数 ...
- windows Jenkins git 配置
待更新 插件下载地址:http://updates.jenkins-ci.org/download/plugins/ 参考地址:https://blog.csdn.net/zzy1078689276/ ...
- wed
先有一个无后缀的flag 文件 第一次改成 TXT 收索FLAG 得到了一段 flag.txt f返回到第一次修改后缀 改成RAR 打开RAR 发现一个 flag.txt 的文件 打开,即得到 fla ...
- guava-retrying 源码解析(时间限制策略)
一.时间限制策略相关接口和类 什么是时间限制策略呢?是指在一个时间限制内,包装任何一种重试(尝试)规则,如果超过该限制,那么这个尝试规则可能会被中断,并抛出UncheckedTimeoutExcept ...
- 使用element-ui 遇到的问题
Pagination 分页 在使用分页的时候,每次切换pageSize的时候,需要把current-page置为1 重新加载数据. 但是当current-page !== 1的时候,修改current ...
- 【软件安装与环境配置】TX2刷机过程
前言 使用TX2板子之前需要进行刷机,一般都是按照官网教程的步骤刷机,无奈买不起的宝宝只有TX2核心板,其他外设自己搭建,所以只能重新制作镜像,使用该镜像进行刷机. 系统需求 1.Host Platf ...
- Linux源码安装软件
Linux环境下 源码编译安装软件 ==== 1. 下载,步骤略 ==== 2. 验证,部分官方下载同时提供签名,MD5,sha1,sha256等校验信息. $ gpg --verify gnupg- ...
- PythonStudy——Python字典底层实现原理 The underlying implementation principle of Python dictionary
在Python中,字典是通过散列表或说哈希表实现的.字典也被称为关联数组,还称为哈希数组等.也就是说,字典也是一个数组,但数组的索引是键经过哈希函数处理后得到的散列值.哈希函数的目的是使键均匀地分布在 ...
- Spring Cloud(Dalston.SR5)--Zuul 网关-微服务集群
通过 url 映射的方式来实现 zuul 的转发有局限性,比如每增加一个服务就需要配置一条内容,另外后端的服务如果是动态来提供,就不能采用这种方案来配置了.实际上在实现微服务架构时,服务名与服务实例地 ...
- SpringBoot RestFul风格API接口开发
本文介绍在使用springBoot如何进行Restful Api接口的开发及相关注解已经参数传递如何处理. 一.概念: REST全称是Representational State Transfer,中 ...