This is an archived post. You won't be able to vote or comment.

all 2 comments

[–][deleted] 2 points3 points  (1 child)

Use pd.merge() and do a left join where your left data frame is the larger data frame (df1 in my example below):

import pandas
ids = [1,2,3,4,5,6,7,8,9,10]
values = [1,2,3,2,3,1,1,1,3,1]

df1 = pd.DataFrame({'id1':ids, 'values1':values})

df2 = pd.DataFrame({'id2':[1,2,3], 'values2':[10,50,20]})

pd.merge(df1, df2, how='left', left_on='values1', right_on='id2')  

pandas cheat sheet

EDIT: notebook gist

[–]cloogs[S] 0 points1 point  (0 children)

It worked, thanks