[Python] numpy.meshgrid란

상세 컨텐츠

본문 제목

[Python] numpy.meshgrid란

프로그래밍 ( Programming )/Python

by I Got this memyself 2021. 1. 11. 01:45

본문

numpy의 meshgrid 함수는 1차원 좌표 배열 (x1, x2..... xn)에서 N차원 직사각형 격자를 만드는 함수입니다. 

매개변수 종류

x1, x2, .... 배열, 그리드의 좌표를 나타내는 1차원 배열
indexing  배열, 출력의 인덱싱을 정의 ( xy - 좌표 또는 ij - 행렬 )
sparse 부울, 메모리를 절약하기 위해 희소 그리드를 반환
( sparse = True ) 
copy 부울, 메모리를 절약하기 위해 원래 배열에 대한 뷰가 반환
( copy = True )

 


meshgrid() 메서드를 이용한 meshgrid 생성

행렬x2 y2를 생성하여 각 행렬의 해당 요소 쌍이 그리드에 있는 모든 x1 및y1 좌표를 제공합니다.

import numpy as np

x1 = np.linspace(1,5,5)
y1 = np.linspace(6,10,5)

x2,y2 = np.meshgrid(x1,y1)

print(x2)
"""
[[1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]]
 """

print(x2.shape)
# (5, 5)

print(y2)
"""
[[ 6.  6.  6.  6.  6.]
 [ 7.  7.  7.  7.  7.]
 [ 8.  8.  8.  8.  8.]
 [ 9.  9.  9.  9.  9.]
 [10. 10. 10. 10. 10.]]
 """

print(y2.shape)
# (5, 5)

 

indexing = 'ij'를 이용한 meshgrid 생성해보기 

쌍이 행렬 요소의 인덱스에서 두 요소의 해당 요소를 형성하도록 행렬x2 y2를 생성합니다.

import numpy as np

x1 = np.linspace(1,4,4)
y1 = np.linspace(6,10,5)

x2,y2 = np.meshgrid(x1,y1,indexing='ij')

print(x2)
"""
[[1. 1. 1. 1. 1.]
 [2. 2. 2. 2. 2.]
 [3. 3. 3. 3. 3.]
 [4. 4. 4. 4. 4.]]
 """

print(x2.shape)
# (4, 5)

print(y2)
"""
[[ 6.  7.  8.  9. 10.]
 [ 6.  7.  8.  9. 10.]
 [ 6.  7.  8.  9. 10.]
 [ 6.  7.  8.  9. 10.]]
 """

print(y2.shape)
# (4, 5)

 

Meshgrid에서 sparse=True를 설정하여 생성해보기

sparse=True를 설정하면 메모리를 절약하기 위해 희소 그리드를 반환합니다.

import numpy as np

x1 = np.linspace(1,4,4)
y1 = np.linspace(6,10,5)

x2,y2 = np.meshgrid(x1,y1,sparse=True)

print(x2)
# [[1. 2. 3. 4.]]

print(x2.shape)
# (1, 4)

print(y2)
"""
[[ 6.]
 [ 7.]
 [ 8.]
 [ 9.]
 [10.]]
 """

print(y2.shape)
# (5, 1)

 

 

Reference : numpy.org/doc/stable/reference/generated/numpy.meshgrid.html

 

numpy.meshgrid — NumPy v1.19 Manual

For vectors x1, x2,…, ‘xn’ with lengths Ni=len(xi) , return (N1, N2, N3,...Nn) shaped arrays if indexing=’ij’ or (N2, N1, N3,...Nn) shaped arrays if indexing=’xy’ with the elements of xi repeated to fill the matrix along the first dimension f

numpy.org

728x90
반응형

태그

관련글 더보기

댓글 영역