zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jQuery dataType指定为json的问题
    C# Post数据和接收简单示例【转】
    搜集的关于领域驱动设计(DDD)的理论知识
    WCF:(400) Bad Request
    关于SQL生成随机字符串
    如何通过禁用按钮避免jQuery.ajax重复请求
    注册自定义HTTP Handlers
    Node.js+Express on IIS
    iframe在IE下不能写cookie的解决
    node.js从全局目录里加载module
  • 原文地址:https://www.cnblogs.com/ljhdo/p/13684278.html
Copyright © 2011-2022 走看看