Как выбрать конкретные индексы по условию, используя в Python - PullRequest
0 голосов
/ 23 октября 2019

У меня есть следующий массив, который содержит 3 подмассива:

array([[1,3],[2,3],[4,5]],
      [[4],[7],[9]],
      [[0.3],[0.02],[-0.001]])

Я хочу создать новый массив, который содержит только индексы (в каждом подмассиве), которые следуют условию: abs(array[2]) < 0.1 - что означаетчто я хочу в конечном итоге получить вывод:

array([[2,3],[4,5]],
      [[7],[9]],
      [[0.02],[-0.001]])

Любое предложение для эффективного способа сделать это?

1 Ответ

0 голосов
/ 23 октября 2019

Я бы сделал это так:

import numpy as np

a = np.array([[[1,3],[2,3],[4,5]],
      [[4],[7],[9]],
      [[0.3],[0.02],[-0.001]]])

b = [abs(item[0])<0.1 for item in a[2]]

c = [row[b] for row in a]

b - это массив логических значений, определяющий, какой индекс выбрать

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