【问题标题】:How to count number of increases/decreases across a row in a dataframe如何计算数据框中一行的增加/减少次数
【发布时间】:2021-09-16 20:20:13
【问题描述】:

我有一个包含时间序列数据的 df,我需要计算一行中增加/减少的次数。例如:

yr      value1   value2  value3  value4  #increases #decreases
1976    1        2       1       4       ?          ?

#increases 在这种情况下为 2,#decreases 为 1。最好的方法是什么?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以使用diff 从前一列中减去每一列。负值表示减少,而正值表示增加。然后你就可以直接数了。

    diff_df = df.diff(axis=1)
    df['increases'] = (diff_df > 0).sum(axis=1)
    df['decreases'] = (diff_df < 0).sum(axis=1)
    

    这里(diff_df &gt; 0) 返回真/假数据帧,因此对它们求和只是计算“真”值 - 其中值为正数,也就是增加。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2021-02-05
    • 2021-10-01
    相关资源
    最近更新 更多