I have two DataFrames:
df1:
                     top1 top2 top3
693541495124446625    US   GB   CN
912819499544441670    US   CN   TW
df2:
                         US   GB    CN    TW  \ ...
                                                                    
693541495124446625  939.00 932.00 806.00 789.00 ...
912819499544441670  992.00 646.00 981.00 796.00 ...
How can I merge or iterate over two Dataframes in order to get the folowing result:
                       top1          top2          top3
693541495124446625    'US 939.00'  'GB 932.00'   'CN 806.00'
912819499544441670    'US 992.00'  'CN 981.00'   'TW 796.00'
I know I can iterate taking df1 values and put that value in df2 as column [loc]ation via several for loops, but are there any optimized solution ?
You can try this with df.replace
u = df2.astype(str).radd(df2.columns+' ')
out = df1.T.replace(u.T).T
Or:
u = df2.astype(str).radd(df2.columns+' ')
df1.T.replace(u.to_dict('index')).T
print(out)
                        top1      top2      top3
693541495124446625  US 939.0  GB 932.0  CN 806.0
912819499544441670  US 992.0  CN 981.0  TW 796.0
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With