Получить не двусмысленное логическое значение из DataFrame - python3 - PullRequest
0 голосов
/ 05 ноября 2019

Я написал простые коды следующим образом, где df_row - это DataFrame, в котором есть только логические значения (True или False).

DataFrame выглядит следующим образом,

                     Load_Avg  Load_Avg_difference  WaterLevel(cm)  ...
TIMESTAMP                                                           
2016-06-25 05:00:00      True                False           False  ...

hold_id = []
for j, colname in enumerate(colnames):
    if df_row[colname].bool():
        hold_id.append(j)

        break

Теперь я хочу разорвать, когда есть истинное логическое значение в df_row, проверяя логическое значение по порядку.

Я всегда получаюОшибка, говорящая

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Я использовал .bool (), чтобы проверить, является ли DataFrame Истинным или Ложным, верно? Я в замешательстве ...

1 Ответ

0 голосов
/ 05 ноября 2019

df_row[colname] возвращает серию. bool function Возвращает bool отдельного элемента PandasObject.

Таким образом, вы не можете вызвать функцию bool для серии Pandas.

Если вы хотите проверить, являются ли все элементы в серии True, вы можете использовать df_row[colname].all()

Если вы хотите проверить, являются ли какие-либо элементы в серии True, выможно использовать df_row[colname].any()

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