从两个numpy数组中提取坐标
问题描述:
假设你有两个numpy数组之一,称之为A = [x1,x2,x3,x4,x5]
,它具有所有的x坐标,然后我有另一个数组,称之为B = [y1,y2,y3,y4,y5]
..如何“提取”一组坐标eg x1,y1),以便我可以用它做一些事情?我可以使用forloop或类似的东西吗?我似乎找不到任何好的例子,所以如果你能指导我或者给我一些我会感激的。从两个numpy数组中提取坐标
答
不知道这是你在找什么。但是你可以使用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组坐标。
答
正如@ 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的答案可能是更好
得到一个元组'p'包含数组(x1,y1)的前两个元素,例如'p =(A [0],B [0])' – user2314737
@ user2314737好答案!你为什么把它作为评论发布? – ashbygeek
@ashbygeek,因为它是星期五:) – user2314737