Я экспериментирую с методом iloc. Согласно документации, логический массив является допустимым вводом.Вызов iloc() с булевым массивом
Как я понимаю, это то, что если у меня есть логический массив idx со значениями F, T, T, T и I передаю его как вход следующим образом: df.iloc (:, idx), то я получу 2-й, 3-й и 4-й столбцы df (предположим, что df имеет 4 столбца).
Я попытался реализовать это, но я столкнулся с ошибками.
В качестве примера у меня есть dataframe ф.р.
col1 col2 col3 col4
0 1 2 3 4
1 5 6 7 8
У меня также есть панды булевой Серия:
idx = pd.Series(['False', 'True', 'True', 'True'])
преобразовать булеву серию к логическому np.array:
idx = idx.values
Затем передаю его на листок
df.iloc[: , idx]
Я получаю сообщение об ошибке:
IndexError: positional indexers are out-of-bounds
, которые я не понимаю, так как dataframe 4 колонки и я прохожу 4 булевы значения.
Ваша помощь будет оценена по достоинству.
изменить значения строк в 'idx' с помощью логических значений:' pd.Series ([False, True, True, True]) ' – enneppi