본문 바로가기
파이썬

파이썬 Cartesian product of x and y array points into single array of 2D points

by º기록 2021. 2. 14.
반응형

그리드의 x 및 y 축을 정의하는 두 개의 numpy 배열이 있습니다. 예를 들면 :

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]])


 

참조 페이지 https://stackoverflow.com/questions/11144513

 

 

반응형

댓글