Python NumPy의 numpy.issubdtype() 메서드는 첫 번째 인수가 두 번째 인수에 비해 유형 계층 구조(type hierarchy)에서 더 낮거나 동일한 유형 코드일 때 True를 반환합니다. 매개변수로는 dtype 또는 dtype으로 변환 가능한 객체를 전달할 수 있습니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
다음으로 NumPy의 issubdtype() 메서드를 활용해 다양한 데이터 타입 간의 상속 관계를 확인합니다.
print("Result...",np.issubdtype(np.float64, np.float32))
print("Result...",np.issubdtype(np.float64, np.floating))
print("Result...",np.issubdtype(np.float32, np.floating))
print("Result...",np.issubdtype('i4', np.signedinteger))
print("Result...",np.issubdtype('i8', np.signedinteger))
print("Result...",np.issubdtype(np.int32, np.integer))예제
전체 실행 코드는 아래와 같습니다.
import numpy as np
# 첫 번째 인수가 유형 계층 구조에서 더 낮거나 동일한 유형 코드인 경우 True를 반환하려면
# Python NumPy의 numpy.issubdtype() 메서드를 사용합니다.
# 매개변수는 dtype 또는 dtype으로 변환 가능한 객체입니다.
print("Using the issubdtype() method in Numpy\n")
print("Result...",np.issubdtype(np.float64, np.float32))
print("Result...",np.issubdtype(np.float64, np.floating))
print("Result...",np.issubdtype(np.float32, np.floating))
print("Result...",np.issubdtype('i4', np.signedinteger))
print("Result...",np.issubdtype('i8', np.signedinteger))
print("Result...",np.issubdtype(np.int32, np.integer))
출력 결과
Using the issubdtype() method in Numpy
Result... False
Result... True
Result... True
Result... True
Result... True
Result... True
결과 해석
실행 결과를 살펴보면, float64와 float32는 서로 다른 독립적인 유형이므로 False가 반환됩니다. 반면 float64와 float32 모두 floating(부동소수점) 유형의 하위 유형에 속하므로 True가 출력됩니다.
마찬가지로 문자열 'i4'(int32)와 'i8'(int64)은 signedinteger(부호 있는 정수) 유형의 하위 유형으로 판별되어 True를 반환하며, int32 역시 integer 유형 계층에 포함되므로 True가 출력됩니다. 이처럼 issubdtype() 메서드는 NumPy의 유형 계층 구조에서 특정 dtype이 다른 유형에 속하는지 검사할 때 유용하게 활용됩니다.