Когда вы говорите присоединиться к ['Country', 'Product']
, вы указываете pandas найти два столбца на обоих фреймах данных. Однако столбцы для «страны» в ваших двух фреймах данных различаются.
В вашем master_df
это Country
.
Но в вашем trade_df
это Export
и Import
.
Кроме того, исходя из ваших ожиданий, видно, что вы действительно хотите присоединиться к master_df
дважды с trade_df
на Country = Export
и Country = Import
соответственно. Итак, вам нужно соединить их дважды и объединить вместе.
Что вы должны сделать (обратите внимание, что порядок имен столбцов в двух списках должен быть соответствующим):
export_df = master_df.merge(trade_df, left_on=['Country', 'Product'], right_on=['Export', 'Product']).drop_duplicates()
import_df = master_df.merge(trade_df, left_on=['Country', 'Product'], right_on=['Import', 'Product']).drop_duplicates()
df = export_df.append(import_df)
print(df)
Это дает вам результат:
Country Product Export Import
0 China Apple China UK
1 India Mango India US
0 Germany Apple India Germany