寻找大数据帧的更快循环

时间:2020-04-14 23:32:04

标签: python pandas loops

我有一个非常简单的循环,只是花很长时间才能遍历我的大数据框。

value = df.at[n,'column_A']

for y in range(0,len(df)):
    index=df[column_B.ge(value_needed)].index[y]
    if index_high  > n:
        break

有了这个,我试图找到第一个索引,该索引的值大于value_needed。问题在于,当len(df)> 200000

时,此循环太无意义而无法运行

关于如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:1)

通常,您应该尝试避免与熊猫循环,这是一种获取所需内容的矢量化方法:

df.loc[(df['column_B'].ge(value_needed)) & (df.index > n)].index[0]

答案 1 :(得分:1)

我希望您有示例数据。在您的数据上尝试一下,让我知道您得到了

import numpy as np
index = np.where(df[column_B] > value_needed)[0].flat[0]

然后

#continue with other logic