반응형
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
반응형
'프로그래밍 ( Programming ) > Python' 카테고리의 다른 글
[Python] Class 이해하기 (0) | 2021.11.25 |
---|---|
[Python] 모듈(Module)과 패키지(Package) 의미 정리 (0) | 2021.11.24 |
[Python] numpy - hstack, vstack 함수 (0) | 2021.01.12 |
[Python] numpy.reshape의 -1 의미 및 기능 (0) | 2021.01.12 |
[Python] rand와 randn 차이 (0) | 2021.01.11 |
댓글