计算 Pandas 中每列数据的自相关
Calculating autocorrelation for each column of data in Pandas
我想为我的数据的每一列计算 pandas 中的一阶自相关。
我希望以下每个代码都能给出相同的结果,但结果并不相同。
我应该使用哪一个?
df[df.columns.to_list()].apply(lambda x: x.corr(x.shift()))
或
df[df.columns.to_list()].apply(lambda x: x.autocorr)
第二个应该是 df[df.columns.to_list()].apply(lambda x: x.autocorr())
因为你需要内括号来调用 autocorr
函数。
这些片段应该给出完全相同的结果,因为 autocorr
的实现只有一行代码:self.corr(self.shift(lag))
与您的第一个片段相同。
如果这仍然无效,请通过可重现的示例分享您的数据。
作为次要说明 - 使用 df[df.columns.to_list()]
没有做任何特别的事情,因为您没有创建数据的子集,所以您可以简单地做 df.apply
并跳过 df[df.columns.to_list()]
我想为我的数据的每一列计算 pandas 中的一阶自相关。
我希望以下每个代码都能给出相同的结果,但结果并不相同。
我应该使用哪一个?
df[df.columns.to_list()].apply(lambda x: x.corr(x.shift()))
或
df[df.columns.to_list()].apply(lambda x: x.autocorr)
第二个应该是 df[df.columns.to_list()].apply(lambda x: x.autocorr())
因为你需要内括号来调用 autocorr
函数。
这些片段应该给出完全相同的结果,因为 autocorr
的实现只有一行代码:self.corr(self.shift(lag))
与您的第一个片段相同。
如果这仍然无效,请通过可重现的示例分享您的数据。
作为次要说明 - 使用 df[df.columns.to_list()]
没有做任何特别的事情,因为您没有创建数据的子集,所以您可以简单地做 df.apply
并跳过 df[df.columns.to_list()]