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

Python NumPy common_type() – 입력 배열의 공통 스칼라 타입 반환하기

Python NumPy에서 numpy.common_type() 메서드를 사용하면 여러 입력 배열에 공통으로 적용되는 스칼라 타입을 반환할 수 있습니다. 이 메서드의 첫 번째 매개변수는 입력 배열(또는 여러 개의 배열)입니다.

반환 타입은 항상 부정확(inexact)한, 즉 부동 소수점(floating point) 스칼라 타입이라는 점에 주목할 필요가 있습니다. 입력 배열이 모두 정수형 배열이더라도 마찬가지입니다. 입력 중 하나라도 정수형 배열이 포함되어 있다면, 반환되는 최소 정밀도 타입은 64비트 부동 소수점 dtype(float64)입니다.

또한 int64와 uint64를 제외한 모든 입력 배열은 정보 손실 없이 반환된 dtype으로 안전하게 형 변환(cast)할 수 있습니다.

진행 단계

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

import numpy as np

입력 배열에 공통적인 스칼라 타입을 반환하려면 numpy.common_type() 메서드를 사용합니다.

예제

import numpy as np

# numpy.common_type() 메서드를 사용해 입력 배열에 공통적인 스칼라 타입을 반환합니다.
# 첫 번째 매개변수는 입력 배열입니다.

print("Using the common_type() method in Numpy\n")
print("Result...", np.common_type(np.arange(3, dtype=np.float32)))
print("Result...", np.common_type(np.arange(3, dtype=np.float32), np.arange(2)))
print("Result...", np.common_type(np.arange(3), np.array([22, 2.j]), np.array([32.9])))
print("Result...", np.common_type(np.arange(3), np.array([22, 39]), np.array([32.9])))
print("Result...", np.common_type(np.arange(3, dtype=np.int32), np.arange(2)))

실행 결과

Using the common_type() method in Numpy

Result... <class 'numpy.float32'>
Result... <class 'numpy.float64'>
Result... <class 'numpy.complex128'>
Result... <class 'numpy.float64'>
Result... <class 'numpy.float64'>

결과 해석

  • float32 배열 단독: 다른 타입과 섞이지 않아 그대로 float32가 반환됩니다.
  • float32 배열 + 정수 배열: 정수 배열이 포함되어 최소 정밀도인 float64로 승격됩니다.
  • 정수 배열 + 복소수 배열 + 실수 배열: 복소수 값이 포함되어 complex128이 반환됩니다.
  • 정수 배열 + 정수 배열 + 실수 배열: 실수 값이 포함되어 float64가 반환됩니다.
  • int32 배열 + 정수 배열: 정수 배열이 포함되어 최소 정밀도인 float64가 반환됩니다.