Ошибка значения: Истинное значение Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all () - PullRequest
0 голосов
/ 19 января 2020
def answer_three():
    if(df['Gold.2']>=1):
      return df[df['diff']/df['Gold.2'].max()].index[0]
answer_three()

При написании этого кода я получил такую ​​ошибку

ValueError: Истинное значение Series является неоднозначным. Используйте a.empty, a.bool () ....

, где diff равно:

df['diff'] = abs(df['Gold'] - df['Gold.1'])

1 Ответ

1 голос
/ 19 января 2020

Проблема в том, что вы пытаетесь сравнить Ser ie (df ['Gold.2']) с числом, в основном то, что видит Python, выглядит примерно так: [0 4 6 7 4 2 0 4] >= 1 и возвращение [False True True True True True False True].

Поэтому, когда вы пытаетесь проверить, if [False True True True True True False True] python не знает, что делать, и просит вас использовать один из any, empty, all, etc методов, которые превращают этот список в один.

Если вы можете объяснить, что именно вы хотите, я могу помочь вам исправить код.

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