2014-01-21 2 views
0

Когда я делаю это:кортежей массивы питона

print(type(params2)) 
y = np.asarray(params2) 

Я получаю следующее сообщение об ошибке: «ValueError: настройка элемента массива с последовательностью.»

Мой params2 выглядит следующим образом:

>>>type(params2) 
<type 'tuple'> 
>>> params2 
(array([ 2.16003254, 35.41060695]), array([[ 3.56496896e-02, -5.90834196e+00], 
    [ -5.90834196e+00, 1.03644107e+03]])) 

ответ

0

Вы, вероятно, хотите:

y = np.vstack(params2) 

затем y =:

array([[ 2.16003254e+00, 3.54106070e+01], 
    [ 3.56496896e-02, -5.90834196e+00], 
    [ -5.90834196e+00, 1.03644107e+03]]) 

Если это не результат, который вы хотите, пожалуйста, напишите что бы вы хотели иметь.

+0

Спасибо! Прекрасно работает! –

0

Кортеж, переданный в массив, не является обобщенным. Вход в asarray может быть только среди списков, списков кортежей, кортежей, кортежей кортежей, кортежей списков и ndarrays.

Например, это работает отлично:

params2 = (np.array([ 2.16003254, 35.41060695]), 
      np.array([ 3.56496896e-02, 5.90834196e+00]), 
      np.array([ -5.90834196e+00, 1.03644107e+03])) 

np.asarray(params2) 

но ваш кортеж не был однородным.

Смежные вопросы