【问题标题】:Problem calculating correlation in Python在 Python 中计算相关性的问题
【发布时间】:2021-05-07 20:13:56
【问题描述】:

我有以下数据框

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

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

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

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

【问题讨论】:

  • 列对齐是否合适(连接后)?看起来您不使用日期时间索引,而只是使用常规整数。这可能会导致问题。

标签: python correlation


【解决方案1】:

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

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

【讨论】:

  • 我已经在使用 pd.concat。然后,我尝试了您的建议,但没有成功:/
  • 我建议您添加您使用的代码,不同的输出是什么,您期望发生什么以及结果与您的预期完全不同。
猜你喜欢
  • 2020-05-23
  • 2011-04-26
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
  • 2020-01-21
  • 2013-05-18
相关资源
最近更新 更多