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


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

    有如下数据框:

    >>> 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

  • 相关阅读:
    arpg网页游戏之地图(四)
    arpg网页游戏之地图(三)
    arpg网页游戏之地图(二)
    arpg网页游戏之地图(一)
    cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce。
    盖茨的几点忠告【转】
    桌面快捷方式图标都有一个蓝色的阴影
    人际关系百条细节
    需求分析的六个原则
    小细节,你做到了么?
  • 原文地址:https://www.cnblogs.com/ljhdo/p/13684278.html
Copyright © 2020-2023  润新知