Создание списка интересующих столбцов:
cols = [
*orig.columns.difference(df.columns),'Sex_x','Pclass_x',
'Title_x', 'Survived_x', 'Age_x', 'Age_y', 'Fare'
]
Выполнение левого слияния (объединения) столбцов
Sex
,
PClass
и
Title
и заполнение значений
NaN
значениями из
Age_y
:
orig = orig.merge(df, on=['Sex', 'PClass', 'Title'], how='left')[cols]
orig['Age'] = df['Age_x'].fillna(df['Age_y'])
Удаление лишних столбцов
Age_x
и
Age_y
:
orig.drop(columns=['Age_x', 'Age_y'], inplace=True)