2016-04-11 3 views
0

Скажем, у меня есть X by 2 np.ndarray.Что является самым простым способом создания кортежей строк в массиве?

1 2 
3 4 
3 6 

Что это самый простой способ сделать кортежи из рядов

(1 ,2) 
    (3, 4) 
    (3, 6) 

других, чем

L = [ tuple(A[i,:]) for i in range(X)] 

L = array(L) 

Есть ли встроенная функция, чтобы сделать это?

ответ

3

Поскольку Numpy массивы итерацию по строкам, просто используя обычный старый список понимание в порядке:

>>> a = np.arange(1, 7).reshape((3,2)) 
>>> a 
array([[1, 2], 
     [3, 4], 
     [5, 6]]) 
>>> [tuple(row) for row in a] 
[(1, 2), (3, 4), (5, 6)] 

Вы также можете map это:

>>> map(tuple, a) 
[(1, 2), (3, 4), (5, 6)] 
+0

Круто, то 'map', вероятно, мой лучший делать ставку. благодаря –

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