Python/Pandas 值和差异的时间序列相关性
Python/Pandas time series correlation on values vs differences
我熟悉 Pandas Series corr 函数来计算两个 Series 之间的相关性,例如:
import pandas as pd
import numpy as np
A = pd.Series(np.random.randint(1,101,50))
B = pd.Series(np.random.randint(1,101,50))
A.corr(B)
这将计算两个系列的值之间的相关性,但如果我正在处理时间序列,我可能想计算变化的相关性(绝对变化或百分比变化以及超过 1d、1w、 1m等)。
一些统计软件可以很容易地做到这一点,当然我可以创建一个包含每日、每周变化的系列,然后 运行 相同的功能,但我想知道是否有更 Pythonic 的如何做到这一点?
我想通过 pandas 更像 pythonic 的方法是使用 df.pct_change()
:
假设A和B是时间序列:
A.pct_change().corr(B.pct_change())
我熟悉 Pandas Series corr 函数来计算两个 Series 之间的相关性,例如:
import pandas as pd
import numpy as np
A = pd.Series(np.random.randint(1,101,50))
B = pd.Series(np.random.randint(1,101,50))
A.corr(B)
这将计算两个系列的值之间的相关性,但如果我正在处理时间序列,我可能想计算变化的相关性(绝对变化或百分比变化以及超过 1d、1w、 1m等)。
一些统计软件可以很容易地做到这一点,当然我可以创建一个包含每日、每周变化的系列,然后 运行 相同的功能,但我想知道是否有更 Pythonic 的如何做到这一点?
我想通过 pandas 更像 pythonic 的方法是使用 df.pct_change()
:
假设A和B是时间序列:
A.pct_change().corr(B.pct_change())