pandas Timedelta와 DateOffset의 차이
배경
pandas에서 날짜 연산을 하려면 Timedelta와 DateOffset 클래스가 필요하다.
그런데 두 클래스는 무엇이 다를까?
그동안 아무 생각없이 생각나는 것부터 썼었는데,
날짜 연산에 대해 설명할 일이 생겼다.
역시 뭔가를 설명해야 할 때, 가장 깊게 알아보는 것 같다..
차이점
몇 개의 링크를 타고 들어가다가 마음에 드는 설명을 발견했다.
DateOffset
respect calendar arithmetic
Timedelta
respects absolute time arithmetic
즉, DateOffset
은 실제 시간 개념을 사용하기 때문에 써머 타임 등의 이벤트가 반영되지만,
Timedelta
는 절대 시간 개념을 사용하므로 이론상의 날짜 연산을 칼같이 해낸다.
차이 예시
>>>ts = pd.Timestamp('2020-3-29 01:00:00', tz='Europe/Helsinki')
>>>ts + pd.Timedelta(days=1)
Timestamp('2020-03-30 02:00:00+0300', tz='Europe/Helsinki')
>>>ts + pd.DateOffset(days=1)
Timestamp('2020-03-30 01:00:00+0300', tz='Europe/Helsinki')
결론
그런데 한국은 써머 타임도 없고..
Asia/Seoul
기준이라면 두 클래스 중 그냥 생각나는 것을 쓰자
다만, DateOffset
은 months, years 파라미터 지정이 가능하다는 장점이 있다
Timedelta
는 months, years 지정 불가능!
Author And Source
이 문제에 관하여(pandas Timedelta와 DateOffset의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jaehwi0823/pandas-Timedelta와-DateOffset의-차이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)