从纬度/经度坐标分别存储的数组中获取所有可能的(纬度,经度)点

3

我有两个分开的数组,一个存放纬度,一个存放经度:

a = np.array([71,75])
b = np.array([43,42])

我该如何轻松地找到由这些坐标组成的所有可能点?

我一直在尝试使用itertools.combinations:

In [43]:

list(itertools.combinations(np.concatenate([a,b]), r=2))

Out[43]:

[(71, 75), (71, 43), (71, 42), (75, 43), (75, 42), (43, 42)]

但是这对我没有作用,因为点 (71,75)(43,42) 是纬度/纬度和经度/经度对。

我想要的是:

Out[43]:

    [(71, 43), (71, 42), (75, 43), (75, 42)]

a和b数组最终会变成更大的大小,但它们将保持与纬度/经度对相同的大小。


1
你的问题结尾不是很清晰。你能提供一些你期望的例子吗? - daouzli
2个回答

7
你需要的是 itertools.product()函数:
from itertools import product

list(product(a, b))
#[(71, 43), (71, 42), (75, 43), (75, 42)]

这正是我正在寻找的! - pbreach
1
不要忘记导入 "from itertools import product"。 - fyec

0

只需使用两个嵌套的for循环遍历两个数组即可。 for i=0 to len(a) do for j=0 to len(b) do out.add(coordinate(a[i],b[j]);


我不确定我理解这个答案。坐标函数是做什么的,它来自哪里? - pbreach
1
我相信你不需要任何coordinate函数,只需将a[i]、b[j]制作成元组或列表,并将其append(而非add)到out中。 - heltonbiker
我刚刚编写了一个名为"coordinate"的类,@heltonbiker所说的是个好主意。 - in need of help

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接