for x in (df.index):
        if(df.loc[x]['hour']==9):
            print(True)

ValueError: Истинное значение Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

-1
Kamal Kannan 23 Ноя 2021 в 12:33
Не могли бы вы поделиться примером запуска этого кода df, мне кажется, он отлично работает с фреймом данных с именами столбцов "час", содержащими целые числа от 1 до 20
 – 
Patrick
23 Ноя 2021 в 12:40
 – 
Kamal Kannan
23 Ноя 2021 в 12:45
Вы должны добавить его как текст / код в исходный вопрос
 – 
Emi OB
23 Ноя 2021 в 12:53

1 ответ

Лучший ответ

Проблема здесь в том, что индекс не является уникальным, это приводит к тому, что df.loc[x]['hour'] возвращает серию, а не одно значение, было бы лучше просто перебрать проверяемые значения.

for x in (df.hour):
    if(x==9):
        print(True)

Выход

True
True
True
0
Patrick 23 Ноя 2021 в 12:53
Да. Теперь я понимаю, что там произошло. Спасибо чувак.
 – 
Kamal Kannan
23 Ноя 2021 в 13:02