比较两列并返回与第二列元素匹配的第一列的索引

2024-06-16 10:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有两个独立的数据帧,带有一个整数索引

df1
                    dta  
0  2016-11-09 01:02:00
1  2016-11-09 01:04:00
2  2016-11-09 01:06:00

df2
                    dtb    
0  2016-11-09 01:04:00
1  2016-11-09 01:04:00
2  2016-11-09 01:04:00
3  2016-11-09 01:06:00

我试图找到一种相对快速的方法,从df1返回索引值列表,其中 ^来自df2的{}等于df1中的dta。当然我们不需要在这里使用日期,我只是 现在正好和他们一起工作

所以在上面的例子中,我们的结果列表是[1,1,1,2]

谢谢


Tags: 数据方法列表整数例子df1df2dtb
2条回答

df1.dta是唯一的,因此使用get_indexer很简单

ix = df1.set_index('dta').index
ix.get_indexer(df2.dtb)

Out[1219]: array([1, 1, 1, 2], dtype=int32)

您可以使用熊猫Indexget_loc

df2.apply(lambda row: pd.Index(df1.dta).get_loc(row.dtb), axis=1)

相关问题 更多 >