Python NumPy에서는 numpy.datetime_as_string() 메서드를 사용하여 날짜/시간(datetime) 배열을 문자열 배열로 손쉽게 변환할 수 있습니다. 이 메서드는 입력 배열과 동일한 형태(shape)를 가진 문자열 배열을 반환하며, 첫 번째 매개변수로는 형식을 지정할 UTC 타임스탬프 배열을 전달합니다.
변환 절차
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
datetime 배열을 생성합니다. dtype의 'M'은 datetime 유형을 의미하며, 여기서는 분 단위('M8[m]')로 지정했습니다.
arr = np.arange('2022-02-20T02:10', 6*60, 60, dtype='M8[m]')생성된 배열을 화면에 출력합니다.
print("Array...\n", arr)배열의 데이터 타입(dtype)을 확인합니다.
print("\nArray datatype...\n", arr.dtype)배열의 차원 수(ndim)를 확인합니다.
print("\nArray Dimensions...\n", arr.ndim)배열의 형태(shape)를 확인합니다.
print("\nOur Array Shape...\n", arr.shape)배열에 포함된 요소의 개수(size)를 확인합니다.
print("\nNumber of elements in the Array...\n", arr.size)이제 numpy.datetime_as_string() 메서드를 호출하여 datetime 배열을 문자열 배열로 변환합니다.
print("\nResult...\n", np.datetime_as_string(arr))전체 예제 코드
import numpy as np
# datetime 배열 생성
# dtype의 'M'은 datetime 유형을 나타냄
arr = np.arange('2022-02-20T02:10', 6*60, 60, dtype='M8[m]')
# 배열 출력
print("Array...\n", arr)
# 데이터 타입 확인
print("\nArray datatype...\n", arr.dtype)
# 차원 수 확인
print("\nArray Dimensions...\n", arr.ndim)
# 형태(shape) 확인
print("\nOur Array Shape...\n", arr.shape)
# 요소 개수 확인
print("\nNumber of elements in the Array...\n", arr.size)
# numpy.datetime_as_string() 메서드로 datetime 배열을 문자열 배열로 변환
# 입력 배열과 동일한 형태의 문자열 배열이 반환됨
print("\nResult...\n", np.datetime_as_string(arr))실행 결과
Array... ['2022-02-20T02:10' '2022-02-20T03:10' '2022-02-20T04:10' '2022-02-20T05:10' '2022-02-20T06:10' '2022-02-20T07:10'] Array datatype... datetime64[m] Array Dimensions... 1 Our Array Shape... (6,) Number of elements in the Array... 6 Result... ['2022-02-20T02:10' '2022-02-20T03:10' '2022-02-20T04:10' '2022-02-20T05:10' '2022-02-20T06:10' '2022-02-20T07:10']
참고 사항
datetime_as_string() 메서드는 unit 매개변수를 통해 출력 형식의 정밀도(예: 초, 밀리초 등)를 조절할 수 있으며, timezone 매개변수를 사용하면 특정 시간대 기준으로 문자열을 생성할 수도 있습니다. 이를 활용하면 로그 기록, 데이터 저장, 보고서 작성 등 다양한 상황에서 날짜/시간 데이터를 원하는 형식의 문자열로 유연하게 처리할 수 있습니다.