Подпись вызова pd.merge принимает только 2 кадра данных для объединения;
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
Так что вам нужно сделать это в 2 шага:
df = pd.merge(energy, GDP, on="Country")
df = pd.merge(df, ScimEn, on="Country")
Также этохорошая идея установить ключевое слово how
явно.Если есть страны, которые находятся в одном из фреймов данных, но не в других, объединение с использованием значения по умолчанию how=inner
приведет к потере данных и должно быть изменено на outer
, если вы хотите сохранить все данные из всех фреймов данных.