То есть вы имеете в виду merge
на Name
верно?
df.merge(df1, how='left', on='Name', suffixes=('', '_@'))
Out[120]:
Name Age Age_@
0 1 2 NaN
1 3 4 4.0
2 4 5 7.0
Использование indicator
, чтобы увидеть, что вы выводите
df.merge(df1, how='left', left_on=['Name', 'Age'], right_on=['Name', 'Age'], suffixes=('', '_@'),indicator=True)
Out[121]:
Name Age _merge
0 1 2 left_only
1 3 4 both
2 4 5 left_only
Поскольку у вас df
и df1
одинаковые columns
и все columns
были использованы в качестве клавиши merge
, поэтому нет других columns
, указывающих, разделяют ли они одни и те же элементы в df или нет (поскольку вы используете left
, так что по умолчанию показываются все оставшиеся элементы в результате).