파이썬 SciPy Matlab 배열
우리는 NumPy가 Python의 읽기 쉬운 형식으로 데이터를 유지하는 방법을 제공한다는 것을 알고 있다. 그러나 SciPy는 Matlab과의 상호 운용성도 제공한다.
SciPy는 Matlab 배열에서 작업할 수 있는 기능이 있는 모듈 scipy.io 을 제공한다.
파이선 SciPy Matlab 형식에서 데이터 추출 - savemat()
savemat() 함수를 통해 데이터를 Matlab 형식으로 내보낼 수 있다.
메소드는 다음 매개 변수를 사용한다:
filename - 데이터를 저장하기 위한 파일 이름이다.
mdict - 데이터를 포함하는 사전.
do_compression - 결과를 압축할지 여부를 지정하는 부울 값이다. 기본값은 False이다.
다음 배열을 변수 이름 "vc"로 매트 파일로 내보낸다:
from scipy import io import numpy as np arr = np.arange(10) io.savemat('arr.mat', {"vec": arr}) |
참고: 위의 예제는 "arr.mat" 파일 이름을 컴퓨터에 저장한다.
파일을 열려면 아래 "Matlab Format에서 데이터 가져오기" 예제를 확인한다:
파이선 SciPy Matlab 형식에서 데이터 가져오기 - loadmat()
loadmat() 함수를 사용하면 Matlab 파일에서 데이터를 가져올 수 있다.
함수에는 다음과 같은 한 가지 필수 매개 변수가 사용된다:
filename - 저장된 데이터의 파일 이름이다.
키가 변수 이름이고 해당 값이 변수 값인 구조화된 배열을 반환한다.
다음 매트 파일에서 어레이를 가져온다.
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) # Export: io.savemat('arr.mat', {"vec": arr}) # Import: mydata = io.loadmat('arr.mat') print(mydata) |
위의 코드를 실행하면 아래 그림과 같다.
변수 이름 "vc"를 사용하여 매트랩 데이터의 배열만 표시한다:
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) #Export: io.savemat('arr.mat', {"vec": arr}) #Import: mydata = io.loadmat('arr.mat') print(mydata['vec']) |
위의 코드를 실행하면 아래 그림과 같다.
참고: 배열은 원래 1D였지만 추출 시 1차원이 증가했음을 알 수 있다.
이를 해결하기 위해 추가 인수 squeeze_me=True를 전달할 수 있다:
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) #Export: io.savemat('arr.mat', {"vec": arr}) #Import: mydata = io.loadmat('arr.mat', squeeze_me=True) print(mydata['vec']) |
위의 코드를 실행하면 아래 그림과 같다.
이번 글에서는 파이썬 SciPy 모듈에서 Matlab 배열에서 데이터를 추출하거나 가져오기 위해 savemat() 메소드, loadmat() 메소드 등을 활용하는 실습을 하였다.
꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.
모두 화이팅입니다.!!!
출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.
'파이썬 > 파이썬기본문법' 카테고리의 다른 글
파이썬 SciPy 통계적 유의성 검정(Statistical Significance Test) (1) | 2024.02.07 |
---|---|
파이선 SciPy Interpolation(보간법) (1) | 2024.02.06 |
파이썬 SciPy 공간 데이터(Spartial Data) (1) | 2024.02.04 |
파이썬 SciPy 그래프 (0) | 2024.02.03 |
파이썬 SciPy Sparse Data - 희소 데이터 (0) | 2024.02.02 |
댓글