Pandas统计分析

pandas数据的基本统计分析

和numpy的函数近似

dates = pd.date_range('',periods=10)
dates
df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
df df.describe() #快速统计结果
df.mean() # 按列求平均值
df.mean(1) # 按行求平均值

基本统计分析函数

  • .describe() 针对0轴(列)的统计汇总,计数/平均值/标准差/最小值/四分位数/最大值
  • .sum() 计算数据的总和,按0轴计算(各行计算),下同,要按列计算参数1
  • .count() 非NaN值数量
  • .mean() .median() .mode() 计算数据的算数平均值/算数中位数/众数
  • .var() .std() 计算数据的方差/标准差
  • .min() .max() 计算数据的最小值/最大值

只适用于series:

  • .argmin(),.argmax() 计算数据最大值/最小值所在位置的索引位置(自动索引,用她是因为很容易切片等操作)
  • .idxmin(),.idxmax() 计算数据最大值/最小值所在位置的索引(自定义索引)
a = pd.Series([9,8,7,6],index=['a','b','c','d'])
a
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b a.describe()
type(a.describe()) #series对象
a.describe()['count'] b.describe() #默认0轴运算
type(b.describe()) #dataframe对象 #返回横行数据,series
b.describe().loc['max']
b.describe().iloc[7] #返回一列值,这里第2列
b.describe()[2]
#b.describe()[2]
b.describe().loc[:,2]

数据的累计统计分析

  • 对序列的前1-n个数累计运算
  • 可减少for循环的使用

累计统计分析函数,适用于series和dataframe类型

  • .cumsum() 依次给出前1/2/.../n个数的和
  • .cumprod() 依次给出前1/2/.../n个数的积
  • .cummax() 依次给出前1/2/.../n个数的最大值
  • .cummin() 依次给出前1/2/.../n个数的最小值
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b b.cumsum() #列的累加和
b.cumprod() #列的累加积

滚动计算(窗口计算)函数

适用series/dataframe

  • .rolling(w).sum() 依次计算相邻w个元素的和
  • .rolling(w).mean() 依次计算相邻w个元素的算数平均值
  • .rolling(w).var() 依次计算相邻w个元素的方差
  • .rolling(w).std() 依次计算相邻w个元素的标准差
  • .rolling(w).min .max() 依次计算相邻w个元素的最小值/最大值
b.rolling(2).sum() #纵向列,以两个元素为单位,做求和运算
b.rolling(3).sum()

Pandas统计分析的更多相关文章

  1. 18-09-27 pandas 学习02

    如何系统的学习python 中有关数据分析和挖掘相关的库?什么是系统的学习?系统的学习就是一个先搭建只是框架体系,然后不断填充知识看,不断更新迭代的过程. Pandas,numpy,scipy,mat ...

  2. 常用统计分析python包开源学习代码 numpy pandas matplotlib

    常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis

  3. Python数据分析之pandas学习

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...

  4. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...

  5. python 抓取金融数据,pandas进行数据分析并可视化系列 (一)

    终于盼来了不是前言部分的前言,相当于杂谈,算得上闲扯,我觉得很多东西都是在闲扯中感悟的,比如需求这东西,一个人只有跟自己沟通好了,总结出某些东西了,才能更好的和别人去聊,去说. 今天这篇写的是明白需求 ...

  6. 数据分析与展示——Pandas数据特征分析

    Pandas数据特征分析 数据的排序 将一组数据通过摘要(有损地提取数据特征的过程)的方式,可以获得基本统计(含排序).分布/累计统计.数据特征(相关性.周期性等).数据挖掘(形成知识). .sort ...

  7. python 数据分析--pandas

    接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...

  8. 使用Pandas将多个数据表合一

    使用Pandas将多个数据表合一 将多张数据表合为一张表,便于统计分析,进行这一操作的前提为这多张数据表互相之间有关联信息,或者有相同的列. import pandas as pd unames = ...

  9. pandas用法之二

    1,函数应用 ①map() 将函数作用于一个Series的每一个函数(不能是DataFrame) 类似于Python的高阶函数map() 函数可以是Numpy中的通用函数,也可以是自定义函数 优点:代 ...

随机推荐

  1. 常用正则表达式—邮箱(Email)

    本文针对有一点正则基础的同学,如果你对正则一无所知,请移步“正则表达式30分钟入门教程”学习.  要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式.我尝试过在网上找出一个标准的格式,但是很遗憾 ...

  2. CF1139D Steps to One (莫比乌斯反演 期望dp)

    \[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后 ...

  3. vue2.0过滤器

    最近一阶段,项目上比较清闲,有了更多的时间可以研究一下vue了. 这里记录一下关于vue2.0过滤器的学习. vue2.0删除了所有的框架自带的过滤器,也就是说,如果你在vue2.0当中想用过滤器,那 ...

  4. StanFord ML 笔记 第二部分

    本章内容: 1.逻辑分类与回归 sigmoid函数概率证明---->>>回归 2.感知机的学习策略 3.牛顿法优化 4.Hessian矩阵 牛顿法优化求解: 这个我就不记录了,看到一 ...

  5. [Lua]table(一):打印与复制

    一.打印table function PrintTable(tb) if type(tb) ~= "table" then print(tb) return end local c ...

  6. 使用docker生成centos7系统

    因为缺乏系统,所以使用docker镜像模拟生成多个系统,用于练习集群的安装. 查看已有镜像 docker images 下载镜像: docker pull centos: docker pull  镜 ...

  7. Ubuntu 14.04 配置OpenCv 2.4.9

      安装工具 g++ 链接:http://www.cnblogs.com/LQLin168/p/6844593.html 下载OpenCv 2.4.9(官网地址):http://opencv.org/ ...

  8. Linux下zip命令

    解压命令(解压.覆盖解压) unzip zip unzip -o xxx.zip 压缩命令(支持多个文件或目录) zip -r xxx.zip xxx yyy.txt /a/b/c

  9. Hive 组内计无重复数,追加每条记录后面

    今天无意中碰到一个很简单的计算逻辑,但是用hive想了一大会才实现. 示例表数据: 需求逻辑: 给每条记录追加一个字段,用于统计按照p1和p2字段分组后,每个组中的num的数目(去重后的count). ...

  10. 4. powerdesigner 生成sql脚本步骤

    1. 选择数据库类型:DataBase(数据库)-- Change Current DBMS 2. 生成数据库脚本:DataBase(数据库)--generate Database