Выбирает ли массив Numpy в Python значения «True» по умолчанию при разрезании данных - PullRequest
0 голосов
/ 25 декабря 2018
import numpy as np

test = np.array([1, 1, 1, 0, 0, 0, 1])
t = test[test == 1]
print(t)

Когда я печатаю 't', почему код всегда будет печатать только значения "1" (т.е. "True")?Есть ли в серии Numpy поведение по выбору только истинных значений по умолчанию, если только я не определю, является ли истина или ложь?

Я прохожу курс Python в Data Camp и не могу найти ответ, дотягивающийся доэта группа за помощь.

Спасибо.

1 Ответ

0 голосов
/ 25 декабря 2018

Очевидно, что вы записали переменную t, чтобы она равнялась только числу 1.Всякий раз, когда вы печатаете t, на выходе всегда будет 1 с.Попробуйте добавить в список больше разных номеров и снова напечатайте t.Вы также снова получите массив 1 с.

При изменении значения переменной test, скажем, на 3, вы получите по крайней мере 3 из массива, если он существует.В противном случае массив будет пустым.

То же самое относится и к строкам, таким как test == car.

Обновление: разрезание по индексу

По сути, вы выводили числа из их индексов.

Давайте посмотрим на следующий массив

x = np.array([1,0,1,1,1,0)

Теперь давайте выведем 0,1,0, 0,0,1, набрав x[x]

Давайтеразбить операцию на части.

x - переменная для чисел в массиве.Однако, если включить x в квадратные скобки, например, x[x], вы буквально приказываете программе выводить первые два числа только из массива с использованием индекса.

Давайте будем более явными.Индексы массива 1,0,1,1,1,0 равны 0,1,2,3,45.

При вводе x [0] выводится только 1.Хорошо, давайте попробуем x [1].Он выведет 0. Так работает индекс.x [x] выдаст 0,1,0,0,0,1 из-за данных индексов.

Надеюсь, это ответит на ваш вопрос.

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