have two data frames F1 and F2 containing both the column id1, id2.
F1 contains 5 columns.
F2 contains three column [id1,id2,Description] I want to test if F1['id1']exists in F2['id1'] OR F1['id2']exists inF2['id2']
then i must addd a colmun in F1 with Description of this id1 or id2 in F2` .
The contens of F1 and F2 are are HERE. The Output That im attending on F1 is also HERE I created F1 and F2 like This
F1 = {'id1': ['x22', 'x13','NaN','x421'],'id2':['NaN',223,788,'NaN']}
F1 = pd.DataFrame(data=F1)
F2 = {'id1': ['x22', 'NaN','NaN','x413','x421'],'id2':['NaN','223','788','NaN','233'],'Description':['California','LA','NY','Havnover','Munich']}
F2 = pd.DataFrame(data=F2)
This is what i did:
s1 = F2.drop_duplicates('id1').dropna(subset=['id1']).set_index('id1')['Description']
s2 = F2.drop_duplicates('id2').dropna(subset=['id2']).set_index('id2')['Description']
F1['Description'] = F1['id1'].map(s1).combine_first(F1['id2'].map(s2))
How can i correct my code to get This result
Result of F1:
F1 = {'id1': ['x22', 'x13','NaN','x421'],'id2':['NaN',223,788,'NaN'],'Name':['NNNN','AAAA','XXXX','OOO'],'V1':['oo','li','la','lo'],'Description':['Clafiornia','LA','NY','Munich']}
F1 = pd.DataFrame(data=F1)