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

Python NumPy datetime_as_string()으로 날짜·시간 배열을 문자열 배열로 변환하는 방법

Python의 NumPy에서 numpy.datetime_as_string() 메서드를 사용하면 날짜·시간(datetime) 배열을 문자열 배열로 손쉽게 변환할 수 있습니다. 이 메서드는 입력 배열과 동일한 형태(shape)의 문자열 배열을 반환합니다. 첫 번째 매개변수는 형식을 지정할 UTC 타임스탬프 배열이며, 'units' 매개변수를 통해 날짜 시간 단위를 지정하여 출력 정밀도를 조절할 수 있습니다.

변환 절차

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

import numpy as np

datetime 배열을 생성합니다. dtype의 'M'은 datetime64 타입을 의미하며, 여기서는 분(m) 단위로 지정했습니다.

arr = np.arange('2022-02-20T02:10', 6*60, 60, dtype='M8[m]')

이제 numpy.datetime_as_string() 메서드를 사용하여 datetime 배열을 문자열 배열로 변환합니다. unit 매개변수에 'm'을 전달해 분 단위까지 표시하도록 설정합니다.

print("\nResult...\n",np.datetime_as_string(arr, unit ='m'))

전체 예제 코드

import numpy as np

# datetime 배열 생성
# dtype의 'M'은 datetime64 타입을 나타냄
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, unit ='m'))

실행 결과

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 요소가 분 단위 정밀도('YYYY-MM-DDThh:mm')를 가진 문자열로 그대로 변환된 것을 확인할 수 있습니다. 이처럼 unit 매개변수 값을 's'(초), 'D'(일) 등으로 변경하면 원하는 정밀도로 출력 형식을 자유롭게 조정할 수 있습니다.