在熊猫中更快地计算相关矩阵

时间:2019-06-17 09:21:37

标签: python pandas

在给定的Pandas DataFrame df上执行以下操作已将我的代码确定为瓶颈。

df.corr()

我想知道是否有一些替代产品来加快这一步?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以改用numpy.corrcoef

pd.DataFrame(np.corrcoef(df.values, rowvar=False), columns=df.columns)

示例时间

# Setup
np.random.seed(0)
df = pd.DataFrame(np.random.randn(1000, 1000))

df.corr()
# 15 s ± 225 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

pd.DataFrame(np.corrcoef(df.values, rowvar=False), columns=df.columns)
# 24.4 ms ± 299 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)