Python 熊猫相关矩阵的快速计算

Python 熊猫相关矩阵的快速计算,python,pandas,Python,Pandas,我已经将给定数据帧df上的以下操作确定为代码的瓶颈 df.corr() 我想知道是否有一些替代品可以加速这一步 谢谢大家! 您可以尝试: 示例计时 您可以尝试: 示例计时 也许试试numpy corrcoef?例如,pd.DataFramenp.corrcoefdfdf.to_numpy,rowvar=false已经很好地优化了。唯一可能的加速是直接使用底层numpy阵列(可能是小型优化),或者完全更改存储组织(如果相关)。在这么少的背景下很难说更多…也许试试numpy.corrcoef?例如

我已经将给定数据帧df上的以下操作确定为代码的瓶颈

df.corr()
我想知道是否有一些替代品可以加速这一步

谢谢大家!

您可以尝试:

示例计时 您可以尝试:

示例计时
也许试试numpy corrcoef?例如,pd.DataFramenp.corrcoefdfdf.to_numpy,rowvar=false已经很好地优化了。唯一可能的加速是直接使用底层numpy阵列(可能是小型优化),或者完全更改存储组织(如果相关)。在这么少的背景下很难说更多…也许试试numpy.corrcoef?例如,pd.DataFramenp.corrcoefdfdf.to_numpy,rowvar=false已经很好地优化了。唯一可能的加速是直接使用底层numpy阵列(可能是小型优化),或者完全更改存储组织(如果相关)。很难说有这么少的上下文…是的,这确实提供了更快的计算。谢谢是的,这确实提供了更快的计算。谢谢
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)