Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy issubdtype()로 크기가 다른 int 데이터 타입의 하위 타입 관계 확인하기

Python NumPy에서 numpy.issubdtype() 메서드를 사용하면 두 데이터 타입(dtype) 사이의 하위 타입(subtype) 관계를 간단하게 확인할 수 있습니다. 이 메서드는 첫 번째 인자가 두 번째 인자의 하위 타입인지 여부를 True 또는 False로 반환하며, 매개변수로는 dtype 또는 dtype으로 변환 가능한 객체를 전달합니다.

핵심 개념

NumPy에서 int16, int32, int64처럼 크기가 다른 정수 데이터 타입은 저장 용량만 다를 뿐, 서로 간에 상속(하위 타입) 관계가 성립하지 않습니다. 따라서 서로 다른 크기의 int 타입끼리 issubdtype()으로 비교하면 어떤 방향으로 비교하더라도 항상 False가 반환됩니다.

단계별 진행

먼저 필요한 라이브러리를 임포트합니다.

import numpy as np

issubdtype() 메서드를 사용해 크기가 다른 int 데이터 타입들을 서로 비교합니다.

print("Result...", np.issubdtype(np.int16, np.int32))
print("Result...", np.issubdtype(np.int32, np.int16))
print("Result...", np.issubdtype(np.int64, np.int32))
print("Result...", np.issubdtype(np.int32, np.int64))
print("Result...", np.issubdtype(np.int16, np.int64))
print("Result...", np.issubdtype(np.int64, np.int16))

전체 예제

import numpy as np

# 크기가 다른 int 데이터 타입이 서로의 하위 타입이 아닌지 확인하려면
# Python Numpy의 numpy.issubdtype() 메서드를 사용합니다.
# 매개변수는 dtype 또는 dtype으로 변환 가능한 객체입니다.
print("Numpy의 issubdtype() 메서드 사용\n")

# 크기가 다른 int 데이터 타입 확인
print("Result...", np.issubdtype(np.int16, np.int32))
print("Result...", np.issubdtype(np.int32, np.int16))
print("Result...", np.issubdtype(np.int64, np.int32))
print("Result...", np.issubdtype(np.int32, np.int64))
print("Result...", np.issubdtype(np.int16, np.int64))
print("Result...", np.issubdtype(np.int64, np.int16))

출력 결과

Numpy의 issubdtype() 메서드 사용

Result... False
Result... False
Result... False
Result... False
Result... False
Result... False

결과 해석

모든 비교 결과가 False로 출력됩니다. 이는 int16, int32, int64와 같이 크기(bit 수)가 다른 정수 타입들이 서로의 하위 타입이 아니라는 의미입니다. 즉, 더 작은 타입(int16)이 더 큰 타입(int32, int64)의 하위 타입으로 자동 분류되지 않으며, 그 반대 경우도 마찬가지입니다. 참고로 같은 종류의 타입을 자기 자신과 비교하거나, np.signedinteger처럼 상위 범주 타입과 비교하면 True가 반환됩니다.