Массив Numpy: как уменьшить одно измерение - PullRequest
0 голосов
/ 15 июня 2019

Если у меня есть массив фигур (500, 363, 3), который выглядит как приведенный ниже, как я могу уменьшить его до формы (500, 363, 1), где каждое значение будет представлять собой отдельный логический эквивалент, эквивалентный результатуиз всех().Значит [Ложь, Ложь, Ложь] станет Ложью?

Array([[[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]],

   [[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]],

   [[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]],

   ...,

   [[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]],

   [[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]],

   [[False, False, False],
    [False, False, False],
    [False, False, False],
    ...,
    [False, False, False],
    [False, False, False],
    [False, False, False]]])

Ответы [ 2 ]

3 голосов
/ 15 июня 2019

np.all имеет аргумент оси, в этом случае вы хотите взять all вдоль последней оси, поэтому вам нужно:

a.all(-1)

a = np.random.choice([0,1], size=(500, 363, 3))
print(a.all(-1).shape)
# (500, 363)
2 голосов
/ 15 июня 2019

вы можете сделать

import numpy as np
reduced = np.all(arr, axis = 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...