首页 > 其他 > 详细

pandas 学习 第13篇:计算元素之间的差值、比值

时间:2020-09-27 16:03:36      阅读:126      评论:0      收藏:0      [点我收藏+]

对于数据框,可以按照行或列,计算相邻两个元素的之间的差值或变化百分比,

有如下数据框:

>>> df = pd.DataFrame({a: [1, 2, 3, 4, 5, 6],
...                    b: [1, 1, 2, 3, 5, 8],
...                    c: [1, 4, 9, 16, 25, 36]})
>>> df
   a  b   c
0  1  1   1
1  2  1   4
2  3  2   9
3  4  3  16
4  5  5  25
5  6  8  36

一,计算元素之间的差值

计算数据框两个元素之间的差值,默认为上一行中的元素:

DataFrame.diff(periods=1, axis=0)

参数注释:

periods:默认值是1,平移的区间,periods为正整数表示向前平移,为负整数表示向后平移。

axis:平移的轴,axis=0,表示按照row进行平移,axis=1,表示按照列进行平移

默认情况下,计算当前元素和前一个元素的差值:

>>> df.diff()
     a    b     c
0  NaN  NaN   NaN
1  1.0  0.0   3.0
2  1.0  1.0   5.0
3  1.0  1.0   7.0
4  1.0  2.0   9.0
5  1.0  3.0  11.0

二,计算元素之间的比值

当前元素和先前元素之间变化的比值,公式是 (current value - previsou value)/ previsou value, 默认情况下,计算与前一行的变化的百分比:

DataFrame.pct_change(periods=1, fill_method=pad, limit=None, freq=None, **kwargs)

参数注释:

  • periods:平移的距离,默认值是1
  • fill_method:如何处理NA,默认值是pad
  • limit:填充的最大NA的数量,如果NA的数量大于limit,那么停止填充NA元素

计算当前元素和前一个元素的变化的百分比:

>>> df.pct_change()
          a         b         c
0       NaN       NaN       NaN
1  1.000000  0.000000  3.000000
2  0.500000  1.000000  1.250000
3  0.333333  0.500000  0.777778
4  0.250000  0.666667  0.562500
5  0.200000  0.600000  0.440000

 

 

 

 

 

 

参考文档:

pandas DataFrame

pandas 学习 第13篇:计算元素之间的差值、比值

原文:https://www.cnblogs.com/ljhdo/p/13684278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!