前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas-14.统计函数

Pandas-14.统计函数

作者头像
悠扬前奏
发布2019-05-29 17:16:33
7060
发布2019-05-29 17:16:33
举报
文章被收录于专栏:悠扬前奏的博客

Pandas-14.统计函数

pct_change()

  • Series,DataFrame和Panel都有pct_change()函数
  • 将每个元素和前一个元素进行比较,计算变化百分比
  • 默认列操作,通过axis = 1参数换成行
代码语言:javascript
复制
s = pd.Series([1,2,3,4,5,6,7])
print(s.pct_change())
'''
0         NaN
1    1.000000
2    0.500000
3    0.333333
4    0.250000
5    0.200000
6    0.166667
dtype: float64
'''
df = pd.DataFrame(np.random.randn(5,2))
print(df.pct_change())
'''
           0          1
0        NaN        NaN
1  -0.079922  -0.967315
2   5.439245 -16.543627
3  -0.982768   1.365857
4 -16.309964  -0.422582

协方差

  • 适用于Series数据
  • cov()方法来计算Series之间的协方差
  • NAN自动被排除
  • 用于DataFrame时,计算所有列之间的协方差(cov)值
代码语言:javascript
复制
s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
s1.cov(s2)
'''
-0.2903289442568039
'''

df = pd.DataFrame(np.random.randn(10,5), columns=["a","b","c","d","e"])
df.cov()

'''
a   b   c   d   e
a   0.490571    -0.226859   0.195764    0.105226    -0.054498
b   -0.226859   1.675397    -0.720394   -0.437154   0.035249
c   0.195764    -0.720394   1.277242    0.422822    -0.073178
d   0.105226    -0.437154   0.422822    0.316138    0.021553
e   -0.054498   0.035249    -0.073178   0.021553    0.957176
'''

相关性

  • 相关性显示了任何两个Series之间的线性关系
  • 有多种方法计算:pearson(默认)、spearman,和Kendall
  • 自动排除DataFrame中的非数字列
代码语言:javascript
复制
df.a.corr(df.b)
# -0.25023454111623283
df.corr()
'''
a   b   c   d   e
a   1.000000    -0.250235   0.247312    0.267199    -0.079530
b   -0.250235   1.000000    -0.492464   -0.600671   0.027835
c   0.247312    -0.492464   1.000000    0.665399    -0.066183
d   0.267199    -0.600671   0.665399    1.000000    0.039181
e   -0.079530   0.027835    -0.066183   0.039181    1.000000
'''

数据排名

  • 数据排名为元素数组中的每个元素生成排名
  • 在相同的情况下,分配平均等级。
  • 可选的使用一个默认为true的升序参数,设定为false则逆序
  • 有不同的tie-breaking方法,用方法指定:
    • average - 并列组平均排序等级(默认)
    • min - 组中最低的排序等级
    • max - 组中最高的排序等级
    • first - 按照在数组中出现的顺序分配等级
代码语言:javascript
复制
s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
s.d=s.b
s.rank()
'''
a    4.0
b    2.5
c    1.0
d    2.5
e    5.0
dtype: float64
'''
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pandas-14.统计函数
    • pct_change()
      • 协方差
        • 相关性
          • 数据排名
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档