统计方法有助于理解和分析数据的行为。可以将这些统计函数应用到Pandas的对象上。

pct_change()函数

系列,DatFrames和Panel都有pct_change()函数。此函数将每个元素与其前一个元素进行比较,并计算变化百分比。

import pandas as pd
import numpy as np s = pd.Series([1,2,3,4,5])
print(s)
print (s.pct_change())
print('\n') df = pd.DataFrame(np.random.randn(5, 2))
print(df)
print (df.pct_change())

输出结果:

0    1
1 2
2 3
3 4
4 5
dtype: int64
0 NaN
1 1.000000
2 0.500000
3 0.333333
4 0.250000
dtype: float64 0 1
0 1.055808 1.351057
1 1.458762 0.229309
2 0.392842 -0.043268
3 0.700352 0.884258
4 0.120823 -0.329024
0 1
0 NaN NaN
1 0.381654 -0.830274
2 -0.730702 -1.188686
3 0.782782 -21.436989
4 -0.827482 -1.372090
 

默认情况下,pct_change()对列进行操作; 如果想应用到行上,那么可使用axis = 1参数。

协方差

协方差适用于系列数据。Series对象有一个方法cov用来计算序列对象之间的协方差。NA将被自动排除。

Cov系列示例

import pandas as pd
import numpy as np s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
print (s1.cov(s2))

输出结果:

0.0667296739178
 

当应用于DataFrame时,协方差方法计算所有列之间的协方差(cov)值。

import pandas as pd
import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print (frame['a'].cov(frame['b']))
print (frame.cov())

输出结果:

-0.406796939839
a b c d e
a 0.784886 -0.406797 0.181312 0.513549 -0.597385
b -0.406797 0.987106 -0.662898 -0.492781 0.388693
c 0.181312 -0.662898 1.450012 0.484724 -0.476961
d 0.513549 -0.492781 0.484724 1.571194 -0.365274
e -0.597385 0.388693 -0.476961 -0.365274 0.785044
 

注 - 观察第一个语句中ab列之间的cov结果值,与由DataFrame上的cov返回的值相同。

相关性

相关性显示了任何两个数值(系列)之间的线性关系。有多种方法来计算pearson(默认),spearmankendall之间的相关性。

import pandas as pd
import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print(frame)
print('\n') print (frame.corr())
print('\n') print (frame['a'].corr(frame['b']))

输出结果:

          a         b         c         d         e
0 -1.101841 -0.074431 0.339134 1.259472 -0.371068
1 0.360877 0.604059 0.276935 -2.151471 -0.172715
2 -0.194507 -1.678110 -1.276085 0.810856 -0.056959
3 0.937636 1.128184 0.284501 -0.455708 0.913037
4 -0.316602 1.252087 -1.790787 -0.103062 0.096654
5 0.796188 -0.771702 -0.921695 -0.403666 0.848957
6 1.842859 0.015955 0.555579 0.166412 -0.106779
7 -2.449436 -0.326649 0.023417 -1.440740 -1.085605
8 0.716881 0.898661 1.880689 1.306625 -0.908817
9 -0.312834 1.490284 -0.485538 0.176377 -1.153862 a b c d e
a 1.000000 0.147945 0.226588 0.142235 0.523855
b 0.147945 1.000000 0.244468 -0.096112 -0.177812
c 0.226588 0.244468 1.000000 0.149294 -0.330628
d 0.142235 -0.096112 0.149294 1.000000 -0.128328
e 0.523855 -0.177812 -0.330628 -0.128328 1.000000 0.14794498240798468
-0.613999376618

如果DataFrame中存在任何非数字列,则会自动排除。

数据排名

数据排名为元素数组中的每个元素生成排名。在关系的情况下,分配平均等级。

import pandas as pd
import numpy as np s = pd.Series(np.random.randn(5), index=list('abcde'))
print(s)
print('\n')
print (s.rank())          # 正常安装数值大小排名
print('\n') s['d'] = s['b'] # so there's a tie
print(s)
print('\n')
print (s.rank())

输出结果:

a   -1.076208
b 0.869269
c -1.302216
d -0.772624
e -0.290900
dtype: float64 a 2.0
b 5.0
c 1.0
d 3.0
e 4.0
dtype: float64 a -1.076208
b 0.869269
c -1.302216
d 0.869269
e -0.290900
dtype: float64 a 2.0
b 4.5
c 1.0
d 4.5
e 3.0
dtype: float64

Rank可选地使用一个默认为true的升序参数; 当错误时,数据被反向排序,也就是较大的值被分配较小的排序。

Rank支持不同的tie-breaking方法,用方法参数指定 -

  • average - 并列组平均排序等级
  • min - 组中最低的排序等级
  • max - 组中最高的排序等级
  • first - 按照它们出现在数组中的顺序分配队列

Pandas | 14 统计函数的更多相关文章

  1. Pandas数据统计函数

    Pandas数据统计函数 汇总类统计 唯一去重和按值计数 相关系数和协方差 0.读取csv数据 1.汇总类统计 2.唯一去重和按值计数 2.1 唯一性去重 一般不用于数值列,而是枚举.分类列 2.2 ...

  2. Pandas分组统计函数:groupby、pivot_table及crosstab

    利用python的pandas库进行数据分组分析十分便捷,其中应用最多的方法包括:groupby.pivot_table及crosstab,以下分别进行介绍. 0.样例数据 df = DataFram ...

  3. pandas分组统计:groupby,melt,pivot_table,crosstab的用法

    groupby: 分组 melt: 宽表转长表 pivot_table: 长表转宽表,数据透视表 crosstab: 交叉表 / 列联表,主要用于分组频数统计 import numpy as np i ...

  4. Pandas统计函数

    统计方法有助于理解和分析数据的行为.现在我们将学习一些统计函数,可以将这些函数应用到Pandas的对象上. pct_change()函数 系列,DatFrames和Panel都有pct_change( ...

  5. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  6. Pandas 基础(14) - DatetimeIndex and Resample

    这一小节要介绍两个内容, 一个是 DatetimeIndex 日期索引, 另一个是 Resample, 这是一个函数, 可以通过参数的设置, 来调整数据的查询条件, 从而得到不同的结果. 首先看下关于 ...

  7. Python笔记 #14# Pandas: Selection

    10 Minutes to pandas import pandas as pd import numpy as np import matplotlib.pyplot as plt dates = ...

  8. pandas的数据统计函数

    # 1汇总类统计 # 2唯一去重和按值计数 # 3 相关系数和协方差 import pandas as pd # 0 读取csv数据 df = pd.read_csv("beijing_ti ...

  9. 14、numpy——统计函数

    NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下:(沿哪条轴执行,就是是最后结果的形式) 1.numpy.amin() 和 ...

随机推荐

  1. 读了两章的 How Tomcat Works

    周一发现了一本书.How Tomcat Works 惯例先到豆瓣搜书评.结果书评出奇的好.然后下载了PDF.从简介中看,本书的每个章节都会不断的围绕怎么建造一个Tomcat讲解.我本人比较喜欢这种造轮 ...

  2. SQLserver 存储过程游标使用

    ALTER PROCEDURE [dbo].[p_DeleteStretchData] ) , ) AS BEGIN ) ) declare @stretch_cursor cursor -- 声明游 ...

  3. Laravel框架中Echo的使用过程

    今天的这篇文章中给大家分享关于laravel框架中echo的使用,文章的内容是一步一步来的,用了16步走完一个过程,过程很清晰,希望可以帮助到有需要的朋友吧.话不多说,直接看内容.官方文档推荐使用 P ...

  4. Rabbit MQ 学习参考

    网上的教程虽然多,但是提供demo的比较少,或者没有详细的说明,因此,本人就照着网上的教程做了几个demo,并把代码托管在码云,供有需要的参考. 项目地址:https://gitee.com/dhcl ...

  5. 我自己收藏的 Windows 上好用的软件

    已经在使用的工具就不会列出来了. 1. 截图 - Snipaste 截图在我们的生活中,可以算的上是非常频繁的操作了,但是很多人是不是都在使用腾讯聊天软件的聊天截图功能,或许是没有一款称心的.安全的截 ...

  6. Mysql中的变量

    Mysql中的变量众多(即运行的配置),如:事务相关的.连接相关的.查询优化类的等等. 变量的作用域: 1.临时作用域 session级别:即打开一个与mysql server会话的基础上的作用域,变 ...

  7. MongoDB 学习笔记 ---创建用户

    MongoDB安装好了之后,开始学习常用命令 首先,运行MongoDB, 记住,先不用带参数--auth /usr/local/mongodb/bin/mongod -dbpath=/usr/loca ...

  8. JTAG接口定义

  9. windows通过秘钥使用ssh和scp

    windows10内置支持了ssh和scp等仿linux指令,可以让我们方便的使用类似linux的工作流把日常的代码资源部署维护工作写成脚本(批处理). ssh和scp都有-i参数可以通过指定一个私钥 ...

  10. MySql 参数赋值bug (MySql.Data, Version=6.9.6.0 沙雕玩意)

    直接将参数赋值为常量0则参数值为null,出现异常:MySql.Data.MySqlClient.MySqlException (0x80004005): Column 'PayType' canno ...