微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在熊猫的时间序列数据中按行获取增加百分比?

如何解决如何在熊猫的时间序列数据中按行获取增加百分比?

我有时间序列数据帧,我想在其中计算时间序列数据中每一列沿行的增加/减少百分比。为此,我可以尝试使用嵌套循环来迭代列和行,然后进行计算,但是它不能正常工作。谁能指出我要进行此调整的任何调整?有什么办法可以在熊猫身上做到这一点?

我的尝试

这是我的time series data in this gist

import pandas as pd

df = pd.read_csv("mydf.csv")

for col in range(0,len(df.columns)):
    for row1 in range(0,len(df)):
        for row2 in range(1,len(df)):
            numerator = df[row2][col] - df[row][col]
            denominator = df[row][col]
            perc_change = numerator/denomintor
            print(perc_change)

以上尝试均无效。我也这样尝试过:

for col in range(0,len(df.columns)):
     df.div(df[col],axis=0).applymap(lambda x: f'{x * 100:.2f}%')

我的第二次尝试也无法正常工作。谁能指出我的正确做法?有什么想法吗?

所需的输出

这只是输出示例,仅显示所需输出的结构。我想要的输出将是当前行的增加/减少百分比,而不是每列中的前一行。这是example output

我们如何才能正确地做到这一点?有什么想法在熊猫上做到这一点吗?谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。