Python 使用dataframe筛选组值的更快方法

Python 使用dataframe筛选组值的更快方法,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个数据帧,行数多达90000行。我需要为相同的索引列值过滤数据帧,并将其发送给一个函数,该函数迭代过滤后的数据帧。我想知道除了使用groupby之外,是否还有更快的方法来过滤数据帧 这就是我所拥有的。有没有办法加快速度? arr变量是从10000到90000的整数列表。 group1 = df1.groupby(["INDEX"], sort=False) group2 = df2.groupby(["INDEX"], sort=False) # Iterates through li

我有两个数据帧,行数多达90000行。我需要为相同的索引列值过滤数据帧,并将其发送给一个函数,该函数迭代过滤后的数据帧。我想知道除了使用
groupby
之外,是否还有更快的方法来过滤数据帧

这就是我所拥有的。有没有办法加快速度?
arr
变量是从
10000到90000的整数列表。

group1 = df1.groupby(["INDEX"], sort=False)
group2 = df2.groupby(["INDEX"], sort=False)


# Iterates through list arr and calls func repetitively
for names in map(str.upper, arr):
    # print(names)
    try:
        func(group1.get_group(names), group2.get_group(names))
    except:
        pass

一旦你过滤了它们,你需要做什么?
func
做什么?可能是迭代让你慢下来了,而不是
groupby
,避免迭代可能是你最大的收获。不,不是函数让你慢下来的。我在调用和不调用函数的情况下对其计时,结果只有3秒的差异
groupby
占用了所有的时间。你看到了什么样的减速,你还在迭代并调用
。get_groups
?知道下一步要做什么很有帮助,即使只是想消除
groupby
。它有助于确定是否有任何列操作可以跳过它并执行您想要的操作,或者了解如何使用
.apply
.iterrows