объедините два кадра данных, выберите нужные столбцы и переименуйте их, чтобы они соответствовали исходным именам.
df1_master = df2_newValues.merge(
df1_master,
how='left',
left_on='A1col',
right_on='col_A'
).iloc[:,[0,3,1]].rename(
{'A1col': 'col_A',
'A2col': 'col_C'},
axis=1)
outputs:
col_A col_B col_C
0 AA abcd 1_00_23
1 AB efgh 1_11_24
2 AC abcd 2_23_55
3 AD abdf 3_00_34
4 AE NaN 4_22_33
5 AF NaN 6_45_65
update:
, чтобы включить дополнительные столбцы изпервый фрейм данных, включая их позиционный индекс или имя столбца,
, т.е. в приведенном выше выражении замените iloc[:,[0,3,1]]
на iloc[:[0,3,1,5,6]]
или loc[:,['A1col', 'col_B', 'A2col', 'col_D','col_E']]
col_A col_B col_C col_D col_E
0 AA abcd 1_00_23 x y
1 AB efgh 1_11_24 x y
2 AC abcd 2_23_55 x y
3 AD abdf 3_00_34 x y
4 AE Nan 4_22_33 Nan Nan
5 AF Nan 6_45_65 Nan Nan