이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
MATLAB에서 Python으로 데이터형 매핑하기
Python® 함수를 호출할 경우 MATLAB®은 MATLAB 데이터를 Python 언어에서 가장 잘 나타낼 수 있는 유형으로 변환합니다.
Python에 스칼라 값 전달하기
MATLAB 입력 인수 유형 — | 결과 Python | 예제 |
---|---|---|
|
| MATLAB에서 Python 숫자형 변수 사용하기 |
|
| z = complex(1,2); py.cmath.polar(z) ans = Python tuple with no properties. (2.23606797749979, 1.1071487177940904) |
|
| |
|
| |
|
| |
|
| |
|
| MATLAB에서 Python str 변수 사용하기 |
|
| py.list({string(missing),'Value'}) ans = Python list with no properties. [None, 'Value'] |
|
| |
구조체 |
| MATLAB에서 Python dict 변수 사용하기 |
Python 객체 — |
| |
Python 함수에 대한 함수 핸들 |
| Pass Python Function to Python map Function |
Python에 벡터 전달하기
MATLAB 입력 인수 데이터형 — | 결과 Python 데이터형 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127보다 큰 값을 포함하는 |
|
|
|
Python에 행렬 및 다차원 배열 전달하기
Python 언어는 MATLAB 배열에 저장된 데이터 같은 메모리 버퍼에 액세스하기 위한 프로토콜을 제공합니다. MATLAB은 데이터를 복사하지 않고 MATLAB과 동일한 프로세스에서 실행하여 MATLAB 배열을 Python 코드에서 바로 읽어 들일 수 있도록 MATLAB 배열에 대해 이 Python 버퍼 프로토콜을 구현합니다.
다수의 Python 함수는 MATLAB 배열을 네이티브 Python 유형으로 변환하지 않고 Python에서 바로 사용합니다. 일부 함수는 numpy.ndarray
와 같은 특정 유형을 필요로 하거나 배열에 포함된 데이터를 수정할 수 있습니다. 이러한 함수는 MATLAB 배열을 받고 데이터를 필요한 유형으로 복사할 수 있습니다. 필요한 유형을 전달하지 않을 경우 오류를 표시하는 함수도 있을 수 있습니다. 이러한 함수로 데이터를 전달하려면 먼저 MATLAB 데이터에서 필요한 Python 유형을 만든 다음 Python 함수에 전달합니다. 예를 들어, 배열 p
를 만들어 numpy.array
유형의 데이터를 필요로 하는 Python 함수에 전달하려면 다음을 입력하십시오.
p = py.numpy.array(magic(3))
p = Python ndarray: 8 1 6 3 5 7 4 9 2 Use details function to view the properties of the Python object. Use double function to convert to a MATLAB array.
MATLAB 희소 배열은 Python에서 지원되지 않습니다. 지원되지 않는 MATLAB 유형를 참조하십시오.
인수 오류 해결하기
Python 함수에 numpy.ndarray
와 같이 특정 Python 다차원 배열 유형이 필요한 경우, MATLAB에는 진행 방법에 대한 팁이 포함된 메시지가 표시됩니다. 행렬 또는 다차원 배열이 인수로 전달되어 발생한 문제인 경우 다음을 수행하십시오.
Python 함수의 도움말 문서에서 인수에 필요한 유형을 확인합니다.
MATLAB에서 이 유형의 Python 객체를 생성한 후 Python 함수에 전달합니다.
예를 들어, 다음 코드가 오류를 반환한다고 가정해 보겠습니다.
a = [1 2; 3 4]; py.pyfunc(a)
pyfunc
의 도움말 문서에 numpy.ndarray
유형이 필요하다고 지정되어 있다면 다음과 같이 변환해 보십시오.
py.pyfunc(numpy.ndarray(a))
오류가 계속되면 Python 예외의 추가 정보를 통해 근본 원인을 확인합니다.
Python 유형을 MATLAB 유형으로 자동 변환하기
MATLAB은 Python 함수에서 반환된 다음 데이터형을 MATLAB 유형으로 자동 변환합니다. 다른 유형을 변환하려면 Python 유형을 MATLAB 유형으로 명시적으로 변환하기 항목을 참조하십시오.
Python에 표시되는 Python 반환 데이터형 | 결과 MATLAB 유형 — 스칼라 |
---|---|
|
|
| 복소수 |
|
|
|
|
다른 모든 Python 데이터형 — | Python 객체 — |
Python 유형을 MATLAB 유형으로 명시적으로 변환하기
Python 함수의 출력값이 숫자형 또는 논리형이고 numpy.ndarray
와 같은 Python 버퍼 프로토콜을 구현하는 경우, MATLAB에 다음 항목이 표시됩니다.
실제 Python 유형
기본 데이터
해당하는 MATLAB 변환 함수. 이 함수를 사용하여 Python 객체를 MATLAB 배열로 완전히 변환할 수 있습니다.
다음 MATLAB 함수를 사용하여 Python 데이터형을 MATLAB 유형으로 변환합니다.
MATLAB에 표시되는 Python 반환 데이터형 또는 프로토콜 | MATLAB 변환 함수 | 예제 |
---|---|---|
|
| MATLAB에서 Python str 변수 사용하기 |
|
| |
|
| |
|
| py.help('datetime.date.__str__') Help on wrapper_descriptor in datetime.date: datetime.date.__str__ = __str__(self, /) Return str(self). d = py.datetime.date(...
int32(2020),int32(3),int32(4));
char(d) ans = '2020-3-04' |
| 숫자형 함수: | |
logical | ||
|
| |
모든 형식의 | 숫자형 함수: | MATLAB에서 Python 숫자형 변수 사용하기 항목의 예제인 "MATLAB에서 Python 정수 array 유형 사용하기" |
|
| MATLAB에서 Python list 변수 사용하기 |
매핑 프로토콜(예: |
| MATLAB에서 Python dict 변수 사용하기 |
예를 들어, Python 함수는 다음 배열 p
를 반환합니다.
p = Python ndarray: 8 1 6 3 5 7 4 9 2 Use details function to view the properties of the Python object. Use double function to convert to a MATLAB array.
다음을 입력하여 이 배열을 MATLAB 행렬 P
로 변환할 수 있습니다.
P = double(p)
P = 3×3 8 1 6 3 5 7 4 9 2
p
의 Python 속성에 대한 구체적인 정보가 필요하면 다음과 같이 입력하십시오.
details(p)
py.numpy.ndarray handle with properties: T: [1×1 py.numpy.ndarray] base: [1×1 py.NoneType] ctypes: [1×1 py.numpy.core._internal._ctypes] data: [1×3 py.memoryview] dtype: [1×1 py.numpy.dtype[float64]] flags: [1×1 py.numpy.flagsobj] flat: [1×1 py.numpy.flatiter] imag: [1×1 py.numpy.ndarray] itemsize: [1×1 py.int] nbytes: [1×1 py.int] ndim: [1×1 py.int] real: [1×1 py.numpy.ndarray] shape: [1×2 py.tuple] size: [1×1 py.int] strides: [1×2 py.tuple] Methods, Events, Superclasses
Python 모듈이 __doc__
특성의 콘텐츠를 제공하는 경우, MATLAB은 이 정보로 연결됩니다.
Python 객체를 사전 키로 사용하지 않기
Python 객체를 키 인수로 MATLAB dictionary
함수에 전달하거나 입력값으로 keyMatch
함수에 전달할 수 없습니다.
지원되지 않는 MATLAB 유형
다음 MATLAB 유형은 Python에서 지원되지 않습니다.
다차원
char
배열 또는cell
배열구조체형 배열
희소 배열
categorical
,
table
,
containers.Map
,
datetime
유형MATLAB 객체
meta.class
(py
.class
)