首页 > 解决方案 > 在 Python 中计算相关性的问题

问题描述

我有以下数据框

在此处输入图像描述

我需要计算所有列的相关矩阵。问题是:当我分别计算两列时,我得到的值与我使用 df.corr() 为每一对一起计算时得到的值不同。

我构建数据框的方式是将第一列与其他列合并,这种合并过程导致了两乘两数据框的不同行长。

例如:第一列(btc_logreturns)和第二列(gold_logreturns)原来有2000行,而btc_logreturns和ewz_logreturns有2100行。但所有列共有 2459 行。

计算相关性时,函数 .corr() 是否考虑了 NaN?对于我得到的不同相关值,数据帧的长度是否是一个潜在问题?

标签: pythoncorrelation

解决方案


问题可能在于这些数据帧的索引不对齐,这意味着一个数据帧中存在的某些索引在另一个数据帧中不存在,反之亦然。

如果索引确实有意义,请使用合并数据框的结果。另一方面,如果索引没有意义,则合并原始数据帧,使用pd.concat([df_1, df_2], ignore_index=True)它将忽略原始数据帧中的索引。


推荐阅读