我知道这种在数据帧中查找值的索引的方法,如a列中的1和b列中的2:
index = df.index[(df['a'] == 1) & (df['b'] == 2)]
但是,如果我想要在另一个数据帧中找到一个数据帧的两列的值的索引,方法是什么?
例如,对于像df1和df2这样具有a和b列的两个数据帧,我try 了以下方法:
index = [i for i in df2.index if len(df1.index[(df1['a'] == df2.loc[i,'a']) & (df1['b'] == df2.loc[i,'b'])]) == 1]
它工作并返回一个列表,但我想找到一种更快的方法,使其结果像我提到的第一个代码一样.
对于亲爱的gtomer:
df1 =
a b
book 1
book 2
pen 1
eraser 3
book 4
df2 =
a b
pen 4
book 2
pen 8
eraser 3
book 14
我想要两个df1和df2之间的交叉点