I have a main dataframe df and another dataframe ext_map:
df = pd.DataFrame(data={'true': [1, 2, 3], 'billed': [4, 5, 6], 'genre':['a','b','c']})
true billed genre
0 1 4 a
1 2 5 b
2 3 6 c
ext_map = pd.DataFrame(data={'label':[1,2,3], 'a':[1.1,1.2,1.3], 'b':[2.1,2.2,2.3],'c':[3.1,3.2,3.3]})
label a b c
0 1 1.1 2.1 3.1
1 2 1.2 2.2 3.2
2 3 1.3 2.3 3.3
I want to create a new column new_col in my main dataframe such that for each row in df I want to fetch value from columns a, b, c of ext_map based on row.genre and row.true is same as label of ext_map.
[Expected]
true billed genre new_col
0 1 4 a 1.1
1 2 5 b 2.3
2 3 6 c 3.3
df['new_col'] = ext_map.lookup(df.index,ext_map.columns[1:])?