NumPy 데이터 타입
- 이전 페이지 NumPy 배열 잘라내기
- 다음 페이지 NumPy 복사/뷰
Python의 데이터 유형
기본적으로 Python은 다음과 같은 데이터 유형을 가지고 있습니다:
strings
- 텍스트 데이터를 나타냅니다. 텍스트는 쌍따옴표로 감싸여 있습니다. 예를 들어 "ABCD".integer
- 정수를 나타냅니다. 예를 들어 -1, -2, -3.float
- 실수를 나타냅니다. 예를 들어 1.2, 42.42.boolean
- True 또는 False를 나타냅니다.complex
- 복잡한 평면에서의 수를 나타냅니다. 예를 들어 1.0 + 2.0j, 1.5 + 2.5j.
NumPy의 데이터 유형
NumPy에는 추가적인 데이터 유형이 있으며, 이는 문자로 데이터 유형을 참조합니다. 예를 들어 i
불簽정수를 나타냅니다.u
불簽정수와 같은 것을 나타냅니다.
NumPy에서 모든 데이터 유형의 목록과 그들을 표시하는 문자는 다음과 같습니다:
i
- 정수b
- 부울u
- 무符号 정수f
- 실수c
- 복합 실수m
- timedeltaM
- datetimeO
- 객체S
- 문자열U
- unicode 문자열V
- 고정된 다른 유형의 메모리 블록 (void)
배열의 데이터 유형을 확인하십시오
NumPy 배열 객체는 " dtype
의 속성을 사용하여, 이 속성은 배열의 데이터 유형을 반환합니다:
예제
배열 객체의 데이터 유형을 가져옵니다:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
예제
문자열을 포함한 배열의 데이터 유형을 가져옵니다:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
정의된 데이터 유형으로 배열을 생성하십시오
우리는 array()
함수를 사용하여 배열을 생성할 수 있습니다. 이 함수는 선택적 매개변수를 사용할 수 있습니다:dtype
그것은 우리가 배열 요소의 예상 데이터 유형을 정의할 수 있게 합니다:
예제
데이터 유형 문자열로 배열을 생성하십시오:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
대신 i
、u
、f
、S
과 U
또한 크기를 정의할 수 있습니다.
예제
4바이트 정수 데이터 유형의 배열을 생성하십시오:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
값을 변환할 수 없다면 어떻게 될까요?
데이터 유형을 강제로 변환할 수 없는 경우 NumPy는 ValueError를 발생시킵니다.
ValueError: 파이썬에서 함수에 전달된 매개변수의 타입이 예상하지 않거나 잘못된 경우 ValueError가 발생합니다.
예제
비정수 문자열(예: 'a')을 정수로 변환할 수 없습니다(에러가 발생할 수 있습니다):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
존재하는 배열의 데이터 타입 변환
존재하는 배열의 데이터 타입을 변경하는 가장 좋은 방법은 astype()
메서드는 배열을 복사합니다.
astype()
함수는 배열의 복사본을 생성하고, 데이터 타입을 파라미터로 지정할 수 있습니다.
데이터 타입은 문자열로 지정할 수 있습니다. 예를 들어: 'f'
는 실수를 나타냅니다.'i'
는 정수 등을 나타냅니다. 또는 직접 데이터 타입을 사용할 수도 있습니다. 예를 들어: float
는 실수를 나타냅니다.int
는 정수를 나타냅니다.
예제
사용하여 'i'
파라미터 값으로 데이터 타입을 실수에서 정수로 변경하려면:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
예제
사용하여 int
파라미터 값으로 데이터 타입을 실수에서 정수로 변경하려면:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
예제
데이터 타입을 정수로 변경하려면:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
- 이전 페이지 NumPy 배열 잘라내기
- 다음 페이지 NumPy 복사/뷰