我有一个数据帧,其中有 500 列按日期索引,包含四年的数据。
|日期 |一 |AAL |AAP |亚高利 |ABC ...
|1/2/2004 | 18.442521 |25.954398 |1.38449 |11.528444......
|1/5/2004 | 18.922795 |25.718507 |1.442394 |11.919131...
|1/6/2004 | 19.518334 |26.177538 |1.437189 |11.870028....
...等。。。
我想计算每天的皮尔逊相关矩阵,所以每一行。我想以 R 可读的最节省空间的方式按日期保存矩阵(现在我的目标是在 Excel 中按索引日期单独工作表。我愿意接受建议。
我已经尝试了几种方法,但这似乎是最有希望的,因为我无法将corr()应用于df.groupby。
但是此方法返回了空数据帧,现在我卡住了!我正在寻找一种不涉及迭代的方法。
def do_Corr(df_group):
"""Apply the function to each group in the data and return one result."""
X = df_group.corr()
return X
df.groupby([df.index.year,df.index.month,df.index.day]).apply(do_Corr).dropna()
你可能想要df.T.corr()
. .T
转置数据帧,因此行变为列,则可以应用.corr()
方法。