Извлечение значений из массива на основе условий нескольких значений - PullRequest
1 голос
/ 23 апреля 2020

У меня есть массив с плавающей точкой. Я хочу выбрать его значения на основе нескольких условий:

import numpy as np
stamps = np.linspace(1., 100., 1e3)  
selected_stamps = stamps[((stamps > 2.)& (stamps < 10) & (stamps > 20.)& (stamps < 31) & (stamps > 80.)& (stamps < 95) )] # select only values within 2-10, 20-31, 80-95

Как мне это сделать?

1 Ответ

1 голос
/ 23 апреля 2020

Если вы используете только and операторов, как и раньше, вы получите пустую коллекцию. У вас есть 3 диапазона, поэтому между каждым диапазоном вам нужен оператор or:

selected_stamps = stamps[(
    ((stamps > 2.) & (stamps < 10)) | 
    ((stamps > 20.)& (stamps < 31)) | 
    ((stamps > 80.)& (stamps < 95)) )]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...