查找Pandas行位置

时间:2013-04-28 21:40:35

标签: python pandas

假设我们有两个数据帧,其中一个是另一个数据帧的切片。

如果我正在迭代较小的DF,我如何在较大的DF中找到索引,然后找到它所在的行?

所以它会是这样的:

for idx in smaller.index:
    loc = bigger.ix[ix]**.row_location???**
    while not fin:
        looking_for_something = bigger.iloc[loc]
        if looking_for_something != criteria:
            loc += 1
        else:
            fin = 1

我确信它很简单,但我似乎找不到这样做的方法。

1 个答案:

答案 0 :(得分:0)

如果smallerbigger的一部分,那么biggersmaller中找到的所有信息都不是已经可用吗?

如果没有,bigger中可能没有smaller中的某些列。 (或者smaller可能已定义为包含这些列?)无论如何,您可以使用pd.mergesmaller.join(bigger, how='inner', ...)bigger中的行与行进行匹配在smaller中共享相同的索引。这将一举完成你正在寻找的所有比赛

for idx in smaller.index:
    loc = bigger.ix[ix]**.row_location???**

而且,它会更快。通常,逐行执行操作不是获得结果的最快方法。最好考虑连接或合并或groupbys或一次在整个数组上运行的某些操作。