Как получить кратчайшую форму массива в многомерном массиве с питоном? - PullRequest
0 голосов
/ 26 апреля 2018

Если у меня есть многомерный массив Numpy, например:

>> x = np.array([
    np.array([0, 1, 2, 3, 4, 5]),
    np.array([0, 1, 2, 3, 4]),
    np.array([0, 1, 2, 3]),
    np.array([0, 1, 2, 3, 4]),
    np.array([0, 1, 2, 3, 4, 5, 6]),
])

>> x.shape
(5,)

Есть ли "питонический способ" найти самые короткие shape массивов внутри x?

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Я использовал решение, основанное на @ chrisz comment :

min(i.shape for i in x)

Спасибо всем!

0 голосов
/ 26 апреля 2018

Вам нужен только самый короткий массив?

Если да, я считаю, что это самый простой способ

import numpy as np
l = []
 x = np.array([
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4],
[0, 1, 2, 3],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4, 5, 6],
])

for i in x:
    l.append(np.shape(i))
print (min(l))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...