У меня есть массив numpy, в котором элементы представляют собой последовательности, например:
freq_chan = [ 1.00000000e-01 1.88670219e-01 -7.54695562e-03 2.62096706e-13
-2.13348799e-14 1.03343348e+00 -4.13380390e-02 2.62973944e-02
-1.05194953e-03 3.40951940e-13 -2.68000220e-14 1.44764659e+00
-5.79069851e-02 -1.65709468e-01 6.62852413e-03 -3.55350204e-14
3.45455226e-15 7.39936927e-01 -2.95981613e-02]
[ 2.99900000e-01 1.88684850e-01 -7.54812794e-03 2.42380739e-12
-1.94552116e-13 1.03357295e+00 -4.13492157e-02 2.63081045e-02
-1.05280780e-03 2.96306692e-12 -2.36910642e-13 1.44787002e+00
-5.79248893e-02 -1.65738440e-01 6.63084580e-03 -4.40512728e-13
3.59021896e-14 7.40073244e-01 -2.96090852e-02]
Однако предполагается, что каждый элемент последовательности является элементом основной матрицы, например
freq_chan = [ 1.00000000e-01 1.88670219e-01 -7.54695562e-03 2.62096706e-13 -2.13348799e-14 1.03343348e+00 -4.13380390e-02 2.62973944e-02 -1.05194953e-03 3.40951940e-13 -2.68000220e-14 1.44764659e+00 -5.79069851e-02 -1.65709468e-01 6.62852413e-03 -3.55350204e-14 -5.79069851e-02 -1.65709468e-01 6.62852413e-03 -3.55350204e-14 3.45455226e-15 7.39936927e-01 -2.95981613e-02]
Так, например, freq_chan[0,1] должен возвращать 1.88670219e-01. Прямо сейчас freq_chan[0,2] возвращает ошибку:
print(freq_chan[0,2])
TypeError: list indices must be integers, not tuple.
Этот массив Numpy создается из списка кортежей Python с использованием кода:
for i,j in enumerate(freq_chan):
freq_chan[i] = np.array(freq_chan[i], dtype = float)
Есть ли способ создать этот массив Numpy, чтобы элементы кортежей были распакованы?
Спасибо
np.asarray(freq_chan)
илиnp.array(freq_chan)
, а затем проиндексируйте? - person Divakar   schedule 09.10.2015