У меня есть два кадра данных, df1 и df2. Их уникальными идентификаторами для каждого фрейма данных являются «ID» и «Prop_Number». Мне нужно скопировать столбцы Num1, 2 и 3 из df1 в соответствующие столбцы в df2, 1_Num ... Но я не уверен, как сделать слияние для более чем столбца. Я хочу сохранить df2 как df2, а не создавать новый df (потому что в моих реальных данных больше столбцов в df2), который останется как есть.
cols1 = ['ID', 'Num1', 'Num2', 'Num3']
data1 = [['33', '.853', '9834', '234'],
['87', '.372', '2345', '843'],
['15', '1.234','742', '821'],
['92', '1.957', '1234', '123'],
['13', '.943', '8427', '493'],
['67', '.852', '3421', '439']
]
df1 = pd.DataFrame(data=data1, columns=cols1)
cols2 = ['Prop_Number', '1_Num', '2_Num', '3_Num']
data2 = [['87', '', '', ''],
['33', '', '', ''],
['67', '','', ''],
['13', '', '', ''],
['92', '', '', ''],
['15', '', '', '']
]
df2 = pd.DataFrame(data=data2, columns=cols2)
То, что я пробовал, это
df2['1_Num'] = np.where(df1['ID'] == df2['Prop_Number'], df1['Num1'],np.nan)