Python-x和y数组点的笛卡尔积变成2D点的单个数组
我有两个numpy
数组,它们定义了网格的x
和y
轴。例如:
x = numpy.array([1,2,3])y = numpy.array([4,5])
我想生成这些数组的笛卡尔积以生成:
array([[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]])
在某种程度上,这并不是非常低效的,因为我需要循环执行多次。我假设将它们转换为Python
列表并使用itertools.product
并返回到numpy
数组不是最有效的形式。
回答:
>>> numpy.transpose([numpy.tile(x, len(y)), numpy.repeat(y, len(x))])array([[1, 4],
[2, 4],
[3, 4],
[1, 5],
[2, 5],
[3, 5]])
以上是 Python-x和y数组点的笛卡尔积变成2D点的单个数组 的全部内容, 来源链接: utcz.com/qa/414849.html