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 № 1Wierzę, ż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])]