2017-06-02 34 views
0

假设你有两个numpy数组之一,称之为A = [x1,x2,x3,x4,x5],它具有所有的x坐标,然后我有另一个数组,称之为B = [y1,y2,y3,y4,y5] ..如何“提取”一组坐标eg x1,y1),以便我可以用它做一些事情?我可以使用forloop或类似的东西吗?我似乎找不到任何好的例子,所以如果你能指导我或者给我一些我会感激的。从两个numpy数组中提取坐标

+0

得到一个元组'p'包含数组(x1,y1)的前两个元素,例如'p =(A [0],B [0])' – user2314737

+0

@ user2314737好答案!你为什么把它作为评论发布? – ashbygeek

+0

@ashbygeek,因为它是星期五:) – user2314737

回答

0

不知道这是你在找什么。但是你可以使用numpy.concatenate。你只需要与[:,None]前添加尺寸:

import numpy as np 
a = np.array([1,2,3,4,5]) 
b = np.array([6,7,8,9,10]) 

arr_2d = np.concatenate([a[:,None],b[:,None]], axis=1) 
print arr_2d 
# [[ 1 6] [ 2 7] [ 3 8] [ 4 9] [ 5 10]] 

一旦生成一个二维数组,你可以只使用arr_2d[i]获得第i组坐标。

0

正如@ user2314737的评论说,你可以手动通过简单地从每个阵列抓住相同的元素,像这样做:

a = np.array([1,2,3]) 
b = np.array([4,5,6]) 

index = 2 #completely arbitrary index choice 

#as individual values 
pointA = a[index] 
pointB = b[index] 

#or in tuple form 
point = (a[index], b[index]) 

如果你需要所有这些转化为坐标的形式,然后@ Nuageux的答案可能是更好