我有一个很大的DataFrame;所有列的值都是浮点数,索引类型为DateTimeIndex。例如,下面是我的DataFrame的第一部分:
col0 col1 col2 col3 col4 ...
2035-10-30 1.0 1.0 1.0 1.0 1.0 ...
2035-10-31 1.0 1.0 1.0 1.0 1.0 ...
2035-11-01 1.0 1.0 1.0 1.0 1.0 ...
2035-11-02 1.0 1.0 1.0 1.0 1.0 ...
... ... ... ... ... ... ...
对于我的索引列表中的每个元素(即每个日期),我想使用.corr()
方法找到DataFrame的最后1000行的相关矩阵,如下面的代码所示:
for d in df.index:
cor_mat = other_df[:d].tail(1000).corr()
在上面的代码中,df
和other_df
都具有相同的维度和相同的索引。
我目前的速度非常慢,因为我的DataFrame的维度非常大。我怎样才能将这个操作向量化,或者使它更有效率?我试过使用.rolling()
方法,但还没有得到正确的答案。任何帮助将不胜感激。
1条答案
按热度按时间okxuctiv1#
你在使用滚动法时遇到了什么问题?你可以这样用它来计算每个日期的相关矩阵。