[python] NumPy를 사용하여 다른 타입의 데이터를 다루는 방법은 무엇인가요?
  1. dtype 변경하기: NumPy 배열의 데이터 타입은 dtype 속성을 통해 액세스할 수 있으며, astype() 메소드를 사용하여 다른 타입으로 변경할 수 있습니다. 예를 들어, arr.astype(float)와 같이 작성하여 배열 arr의 데이터 타입을 float로 변경할 수 있습니다.

  2. 배열 결합하기: NumPy 배열을 결합할 때, 데이터 타입이 호환될 경우 자동으로 배열의 데이터 타입이 변환됩니다. 예를 들어, np.concatenate() 함수를 사용하여 서로 다른 타입의 배열을 결합할 수 있습니다.

  3. 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]

참고 문헌: