Это легко сделать, объединив (внутреннее соединение) оба кадра данных:
яюсь, если это довольно новый вопрос. Я пытался найти, какие строки являются общими для двух фреймов данных. Возвращаемые значения должны быть индексами строк df2, которые являются общими с df1. Мой неуклюжий пример:
df1 = pd.DataFrame({'col1':['cx','cx','cx2'], 'col2':[1,4,12]})
df1['col2'] = df1['col2'].map(str);
df2 = pd.DataFrame({'col1':['cx','cx','cx','cx','cx2','cx2'], 'col2':[1,3,5,10,12,12]})
df2['col2'] = df2['col2'].map(str);
df1['idx'] = df1[['col1','col2']].apply(lambda x: '_'.join(x),axis=1);
df2['idx'] = df2[['col1','col2']].apply(lambda x: '_'.join(x),axis=1);
df1['idx_values'] = df1.index.values
df2['idx_values'] = df2.index.values
df3 = pd.merge(df1,df2,on = 'idx');
myindexes = df3['idx_values_y'];
myindexes.to_csv(idir + 'test.txt',sep='\t',index = False);
Возвращаемые значения должны быть [0,4,5]. Было бы здорово сделать это эффективно, так как два кадра данных будут иметь несколько миллионов строк.
Спасибо!