[python] NumPy를 사용하여 다른 타입의 데이터를 다루는 방법은 무엇인가요?
-
dtype 변경하기: NumPy 배열의 데이터 타입은
dtype
속성을 통해 액세스할 수 있으며,astype()
메소드를 사용하여 다른 타입으로 변경할 수 있습니다. 예를 들어,arr.astype(float)
와 같이 작성하여 배열arr
의 데이터 타입을 float로 변경할 수 있습니다. -
배열 결합하기: NumPy 배열을 결합할 때, 데이터 타입이 호환될 경우 자동으로 배열의 데이터 타입이 변환됩니다. 예를 들어,
np.concatenate()
함수를 사용하여 서로 다른 타입의 배열을 결합할 수 있습니다. -
Structured 배열 사용하기: Structured 배열은 각 요소에 대해 별도의 데이터 타입을 지정할 수 있는 배열입니다.
dtype
매개 변수를 사용하여 Structured 배열을 생성할 수 있으며, 필요에 따라 각 필드의 데이터 타입을 지정할 수 있습니다. 이를 통해 서로 다른 타입의 데이터를 배열에 저장할 수 있습니다.
import numpy as np
# 다른 타입의 데이터를 포함하는 NumPy 배열 생성
arr = np.array([1, 2, 3.14, 'Hello'], dtype=object)
# 데이터 타입 변경
arr_float = arr.astype(float)
print(arr_float) # [1. 2. 3.14 nan]
# 배열 결합
arr1 = np.array([1, 2, 3])
arr2 = np.array([4.5, 5.5, 6.5])
combined_arr = np.concatenate((arr1, arr2))
print(combined_arr) # [1. 2. 3. 4.5 5.5 6.5]
# Structured 배열 사용
structured_arr = np.array([(1, 'apple', 2.5), (2, 'banana', 3.7)], dtype=[('id', int), ('name', 'U10'), ('price', float)])
print(structured_arr['id']) # [1, 2]
print(structured_arr['name']) # ['apple', 'banana']
print(structured_arr['price']) # [2.5, 3.7]
참고 문헌:
- NumPy 공식 문서: https://numpy.org/doc/
- NumPy dtype 문서: https://numpy.org/doc/stable/reference/arrays.dtypes.html