반응형
목차
Numpy Dtype Datetime
파이썬의 Numpy라는 라이브러리를 사용해서 데이터 종류를 Datetime으로 설정하면 날짜에 대한 처리를 파이썬에서 할 수 있습니다.
정의 방법은 아래와 같습니다.
today = np.array(["2022-01-11"],dtype="datetime64[D]")
Numpy에서 데이터 타입 명을 datetime64 라고 설정하면 날짜의 형태로 데이터를 저장합니다. datetime64 라고 사용하는 이유는 datetime 라는 이름은 이미 파이썬에서 사용하고 있어서 Numpy에서는 datetime64를 사용합니다.
[D]는 Day를 의미하고 Day 단위로 계산이 가능 합니다.
날짜 더하기 빼기 예제
예제 코드>>
import numpy as np
Date1 = np.array(["2022-01-11"],dtype="datetime64[D]")
Date2 = np.array(["2019-12-11"],dtype="datetime64[D]")
Date3 = Date1 - Date2
print(Date3)
print(Date2 + Date3)
3~4번 라인: Numpy로 날짜표기
5번 라인: 날짜 간에 빼기
7번 라인: 날짜 간에 빼기
결과>>
[762]
['2022-01-11']
주석>>
날짜 간에 뺐을 경우 Day로 표기 됩니다. 이를 다시 년 월 일로 표기 하고 싶을 경우 7번 라인과 같이 년 월 일이 들어간 Numpy 값을 더해주면 원하는 형식으로 결과를 얻을 수 있습니다.
아래와 같이 문법형태를 지키지 않을 경우 에러 메세지가 발생하면서 원하는 결과를 얻지 못하므로 문법에 맞게 처리해야 합니다.
잘못된 예제>>
#잘못된 예제1
import numpy as np
Date1 = np.array(["2018-01-11"])
Date2 = np.array(["2019-12-11"])
Date3 = Date1 - Date2
print(Date3)
print(Date2 + Date3)
#잘못된 예제2
import numpy as np
Date1 = np.array(["2018-01-11"],dtype="datetime[D]")
Date2 = np.array(["2019-12-11"],dtype="datetime[D]")
Date3 = Date1 - Date2
print(Date3)
print(Date2 + Date3)
에러코드>>
numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U10'), dtype('<U10')) -> dtype('<U10')
TypeError: data type 'datetime[D]' not understood
반응형
'파이썬(Python) > numpy' 카테고리의 다른 글
[Python] 리스트, 행렬 정렬 (Numpy, Matrix, List) (0) | 2022.01.13 |
---|---|
[Python]리스트 안의 내용 검색 (Numpy, where, search, 값 위치 찾기) (0) | 2022.01.12 |
[Python]Numpy에서 dtype이란? (데이터 종류, Type) (0) | 2022.01.11 |
[Python]리스트와 Numpy 배열 슬라이싱 방법 (List, slicing, 나누기) (0) | 2022.01.10 |
[Python]리스트안의 동일 값 개수, 집합, 정렬하기(Numpy.unique) (0) | 2022.01.10 |