2016-01-29 3 views
3

это может быть очень легко сделать, но я не могу понять это самостоятельно. У меня есть два Numpy массивов, одна из которых представляет значение х, а другой, представляющие соответствующее у значения:Объединить 2 массива вертикально к кортежу Numpy

x = np.array([-1, 0, 1, 2]) 
y = np.array([-2, -1, 0, 1]) 

Есть ли способ, чтобы объединить эти два массив вместе (так его легче читать значение у для каждого х значение), например, как тапочки:

array = [(-1, -2), (0, -1), (1, 0), (2, 1)] 

Заранее благодарен!

ответ

10
In [469]: x = np.array([-1, 0, 1, 2]) 
In [470]: y = np.array([-2, -1, 0, 1]) 

присоединиться к ним в 2d массив:

In [471]: np.array((x,y)) 
Out[471]: 
array([[-1, 0, 1, 2], 
     [-2, -1, 0, 1]]) 

транспонировать этот массив:

In [472]: np.array((x,y)).T 
Out[472]: 
array([[-1, -2], 
     [ 0, -1], 
     [ 1, 0], 
     [ 2, 1]]) 

или использовать стандартный Python Zip - это обрабатывает массивы, как списки

In [474]: zip(x,y) # list(zip in py3 
Out[474]: [(-1, -2), (0, -1), (1, 0), (2, 1)] 
Смежные вопросы