gpt4 book ai didi

python - Pandas corr和corrwith非常慢

转载 作者:行者123 更新时间:2023-12-04 21:27:39 27 4
gpt4 key购买 nike

我有一个<3万行,7列的pandas数据框,我正在尝试使4列与第五列的相关性。问题是,我想对海量数据集执行此操作,但是这需要40秒钟才能运行。这是我的代码:

df_a = dfr[['id', 'state', 'perform', 'A']].groupby(['id', 'state']).corr().ix[1::2][['A']].reset_index(2).drop('level_2', axis=1)
df_b = dfr[['id', 'state', 'perform', 'B']].groupby(['id', 'state']).corr().ix[1::2][['B']].reset_index(2).drop('level_2', axis=1)
df_c = dfr[['id', 'state', 'perform', 'C']].groupby(['id', 'state']).corr().ix[1::2][['C']].reset_index(2).drop('level_2', axis=1)
df_d = dfr[['id', 'state', 'perform', 'D']].groupby(['id', 'state']).corr().ix[1::2][['D']].reset_index(2).drop('level_2', axis=1)

df = df_a.merge(df_b, left_index=True, right_index=True)
df = df.merge(df_c, left_index=True, right_index=True)
df = df.merge(df_d, left_index=True, right_index=True)

样本数据如下所示:
ID   State   perform   A   B   C   D
234 AK 75.8456 1 0 0 0
284 MN 78.6752 0 0 1 0

有人对我如何使它更快或更有效地实现此方法有任何提示吗?

谢谢!

最佳答案

pandas corr的非常慢的原因是它考虑了NAN:它基本上是一个cython for循环。

如果您的数据没有NAN,则numpy.corrcoef会快得多。

关于python - Pandas corr和corrwith非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270953/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com