ValueError при выполнении слияния с DataFrames с использованием Pandas - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь объединить три кадра данных с помощью панд.Почему я получаю это сообщение об ошибке: ValueError: Истинное значение DataFrame является неоднозначным.Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().Это код:

df = pd.merge (энергия, ВВП, ScimEn, on = "Страна")

Здесь энергия, ВВП, ScimEn - это три кадра данных, которые я пытался объединить,

1 Ответ

0 голосов
/ 28 февраля 2019

Подпись вызова 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, если вы хотите сохранить все данные из всех фреймов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...