Как я могу пометить массив Numpy на основе значений? - PullRequest
0 голосов
/ 25 мая 2019

У меня есть массив значений определенных значений ([5,6,7,8,10,11,12,14]); Я хочу пометить каждое значение как:

  1. 'N', если значение меньше или равно 10

  2. 'Y', если значение больше 10

Мой вывод будет массив / список, который имеет значения: [ 'N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y']

Я новичок в python и мне сразу нужно решение для проекта. Пожалуйста, помогите мне. Пожалуйста, не дайте отрицательных баллов, потому что я не могу больше задавать вопросы.

Ответы [ 2 ]

1 голос
/ 25 мая 2019

Есть много способов сделать это.Вот несколько вариантов:

In [1]: import numpy

In [2]: x = numpy.array([5,6,7,8,10,11,12,14])

In [3]: x
Out[3]: array([ 5,  6,  7,  8, 10, 11, 12, 14])

In [4]: x > 10
Out[4]: array([False, False, False, False, False,  True,  True,  True], dtype=bool)

In [5]: ['Y' if y > 10 else 'N' for y in x]
Out[5]: ['N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y']

In [6]: [{True: 'Y', False: 'N'}[y] for y in x > 10]
Out[6]: ['N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y']

Вы также можете использовать map или что-то еще, конечно:)

0 голосов
/ 25 мая 2019
  1. для зацикливания списка tmp;
  2. каждый элемент, зацикленный в списке tmp, будет оцениваться по принципу if ... first, match if ... затем вывести 'Y' в новый список, который был создан всеобъемлющим списком.
  3. не совпадает, если ..., затем выведите 'N' в новый список, созданный списком.

Use list comprehensive with sentence if ...else.. just like picture below:

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