/ / wymuś, aby tablice wewnątrz n-wymiarowej tablicy miały ten sam rozmiar - python, python-2.7, python-3.x

wymuszanie macierzy wewnątrz tablicy n wymiarowej na ten sam rozmiar - python, python-2.7, python-3.x

Jestem początkującym w Pythonie i muszę podać ten sam rozmiar moim tablicom wewnątrz mojej n-wymiarowej tablicy (narray): Moja początkowa tablica:

[array([  6.27963604e-04,   3.58836345e-04,   1.79418172e-04,
0.00000000e+00,   0.00000000e+00,   8.97090862e-05,
8.97090862e-05])],  [array([  4.64746103e-04,   4.35699472e-05,   2.90466315e-05,
4.35699472e-05,   8.71398944e-05,   1.45233157e-05,
0.00000000e+00,   1.45233157e-05,   0.00000000e+00,
1.45233157e-05])],  [array([  8.71113726e-04,   7.85430409e-05,   6.78326262e-05,
3.92715204e-05,   1.78506911e-05,   1.78506911e-05,
1.78506911e-05,   7.14027644e-06,   0.00000000e+00,
1.07104147e-05,   0.00000000e+00,   0.00000000e+00,
0.00000000e+00,   0.00000000e+00,   3.57013822e-06])]]

Dane wyjściowe, które chcę: chcę uzyskać n tablic z tablicami, które zawierają 7 elementów w każdym, usuwając inne elementy i zmuszając każdą tablicę do 7 jako rozmiaru:

[array([  6.27963604e-04,   3.58836345e-04,   1.79418172e-04,
0.00000000e+00,   0.00000000e+00,   8.97090862e-05,
8.97090862e-05])],[array([  4.64746103e-04,   4.35699472e-05,   2.90466315e-05,
4.35699472e-05,   8.71398944e-05,   1.45233157e-05,
0.00000000e+00])], [array([  8.71113726e-04,   7.85430409e-05,   6.78326262e-05,
3.92715204e-05,   1.78506911e-05,   1.78506911e-05,
1.78506911e-05])]

Dziękuję Ci ,

Odpowiedzi:

0 dla odpowiedzi № 1

Wierzę, że masz listę tablic numpy, w takim przypadku możesz użyć zrozumienie listy i krajanie na plastry.

>>> import numpy as np
>>> narray = [np.arange(np.random.randint(7,10)) for i in range (5)]
[array([0, 1, 2, 3, 4, 5, 6, 7, 8]),
array([0, 1, 2, 3, 4, 5, 6, 7, 8]),
array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6, 7, 8])]

>>> clipped_arr = [a[:7] for a in narray]
[array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6]),
array([0, 1, 2, 3, 4, 5, 6])]