Sono un principiante in Python e ho bisogno di dare la stessa dimensione ai miei array all'interno del mio array n dimensionale (narray): Il mio array iniziale:
[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])]]
L'output che voglio: voglio ottenere n array con array che ha 7 elementi in ciascuno rimuovendo gli altri elementi e costringendo ogni array ad avere 7 come dimensione:
[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])]
Grazie ,
risposte:
0 per risposta № 1Credo che tu abbia un elenco di array intorpiditi, in quel caso puoi usarlo lista di comprensione e affettare.
>>> 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])]