FutureWarning: в будущем логические массивы будут обрабатываться как индекс логического массива

python arrays boolean

748 просмотра

2 ответа

14648 Репутация автора

Я пытаюсь оценить следующее выражение

X_r[y_all == "yes", 0]

и получите следующую ошибку:

/usr/local/lib/python2.7/dist-packages/ipykernel/ main .py: 1: FutureWarning: в будущем подобные логические массивы будут обрабатываться как индекс логических массивов

Что это значит? Я хочу использовать в y_all=="yes"качестве индекса логического массива. Так как он предупреждает меня, он делает что-то еще.

Что оно делает?

PS

> np.shape(X_r)
(395, 2)

> type(X_r)
numpy.ndarray
Автор: Dims Источник Размещён: 18.07.2016 08:12

Ответы (2)


0 плюса

1219 Репутация автора

Посмотрите на этот ответ : ваш массив фактически рассматривается как «много раз записей 0 и 1» вместо реального логического массива. Поэтому ваш результат состоит только из повторений двух первых записей в X_r.

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

Автор: Silmathoron Размещён: 29.06.2017 05:21

-1 плюса

1 Репутация автора

Каков тип y_all? Может быть, вам просто нужно преобразовать его в numpy.ndarrayтип.

y_all=y_all.values
Автор: user8452467 Размещён: 11.08.2017 06:51
Вопросы из категории :
32x32