Python 用于在时间序列中对多个列进行平稳化的代码

Python 用于在时间序列中对多个列进行平稳化的代码,python,pandas,Python,Pandas,我正在处理一个时间序列数据集,我想知道是否有一种有效的方法可以同时对数据帧中的多个时间序列列进行差分。例如,我们可以使用For循环在具有单位根(非平稳序列)的列中应用.diff(),然后将差分列附加到原始数据集。以下是数据集的快照: 数据集左侧有一个日期列,后面是宏观经济变量的名称,如FCI、IPI、CPI 我想在名为df的数据帧中执行以下操作: (1) 使用.diff()区分名为-FCI、CSI、IPI的列 (2) 将差异值保存在3个新列中,并将其命名为FCI_diff、CSI_diff、I

我正在处理一个时间序列数据集,我想知道是否有一种有效的方法可以同时对数据帧中的多个时间序列列进行差分。例如,我们可以使用For循环在具有单位根(非平稳序列)的列中应用.diff(),然后将差分列附加到原始数据集。以下是数据集的快照:

数据集左侧有一个日期列,后面是宏观经济变量的名称,如FCI、IPI、CPI

我想在名为df的数据帧中执行以下操作:

(1) 使用.diff()区分名为-FCI、CSI、IPI的列

(2) 将差异值保存在3个新列中,并将其命名为FCI_diff、CSI_diff、IPI_diff

(3) 将3个新列合并到原始数据框中


我非常感谢你的帮助。谢谢。

我不知道你到底想做什么,但是

df2 = df[["FCI", "CSI", "IPI"]].diff().add_suffix("_diff")
df3 = pd.concat([df, df2], axis=1)

我不确定你到底想做什么,但是

df2 = df[["FCI", "CSI", "IPI"]].diff().add_suffix("_diff")
df3 = pd.concat([df, df2], axis=1)

以下是@Igor的代码,打包在一行中:

df = pd.concat([df, df[["FCI", "CSI", "IPI"]].diff().add_suffix("_diff")], axis=1)

以下是@Igor的代码,打包在一行中:

df = pd.concat([df, df[["FCI", "CSI", "IPI"]].diff().add_suffix("_diff")], axis=1)

一般来说,我很难在多列上迭代操作和循环。所以,我非常感谢你的帮助。你能说得更具体些吗?请看。以下是数据集的快照:除非绝对必要,否则请不要将信息作为图像共享。请参阅:,。我编辑了问题并简要写出了数据集包含的内容。我编辑了问题并简要写出了数据集包含的内容。哪里请看。我通常很难在多列上迭代操作和循环。所以,我非常感谢你的帮助。你能说得更具体些吗?请看。以下是数据集的快照:除非绝对必要,否则请不要将信息作为图像共享。请参阅:,。我编辑了问题并简要写出了数据集包含的内容。我编辑了问题并简要写出了数据集包含的内容。哪里请看,谢谢,伊戈尔。这很好地回答了我的问题,代码运行正常!谢谢,伊戈尔。这很好地回答了我的问题,代码运行正常!没问题。那就把我撞倒吧;)没问题。那就把我撞倒吧;)