Проблема с истинностью серии является неоднозначной.Используйте a.empty, a.bool (), a.item (), a.any () или a.all () - PullRequest
0 голосов
/ 19 сентября 2018

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

data["observation"] = "Class 1" if (data["Result1"] > data["Result2"]) else "Class 2"

Я пытался использовать пустой, но результат не выглядит правильным, как и любой другой, результат не тот, который я хочу.

Как это исправить пожалуйста?

1 Ответ

0 голосов
/ 19 сентября 2018

Использование:

data["observation"] = pd.np.where(data["Result1"] > data["Result2"], "Class 1", "Class 2")

Это работает, если вы импортировали pandas как pd (используя import pandas as pd), в противном случае, если вы только что использовали import pandas, используйте pandas.np.where(...)

В качестве альтернативы, чтобы использовать синтаксис понимания списка, который, как я думаю, вы пытались сделать, используйте:

data["observation"]=["Class 1" if i["Result1"] >i["Result2"] else "Class 2" for _, i in data.iterrows()]

Однако это может быть очень неэффективно для большого кадра данных.

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