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

Python Pandas – DateOffset 객체의 나노초 수를 반환하는 방법

개요

주어진 DateOffset 객체에 포함된 나노초(nanoseconds) 수를 확인하려면 Pandas의 offset.nanos 속성을 사용하면 됩니다. 이 속성은 해당 오프셋이 나타내는 시간 간격을 나노초 단위의 정수 값으로 반환해 줍니다.

단계별 구현 방법

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

from pandas.tseries.frequencies import to_offset
import pandas as pd

Pandas에서 타임스탬프(Timestamp) 객체를 설정합니다.

timestamp = pd.Timestamp('2021-08-30 03:08:02.000045')

DateOffset을 생성합니다. 여기서는 "D" 빈도(frequency)를 사용하여 일(day) 단위로 날짜를 더하는 오프셋을 만듭니다.

offset = to_offset("5D")

오프셋이 적용된 업데이트된 타임스탬프를 출력합니다.

print("\nUpdated Timestamp...\n", timestamp + offset)

마지막으로, 주어진 DateOffset 객체의 나노초 수를 반환합니다.

print("\nThe number of nanoseconds in the DateOffset object..\n", offset.nanos)

전체 예제 코드

다음은 위 과정을 하나로 묶은 전체 코드입니다.

from pandas.tseries.frequencies import to_offset
import pandas as pd

# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-08-30 03:08:02.000045')

# 타임스탬프 출력
print("Timestamp...\n", timestamp)

# DateOffset 생성
# 여기서는 "D" 빈도를 사용해 일 단위로 날짜를 증가시킵니다.
offset = to_offset("5D")

# DateOffset 출력
print("\nDateOffset...\n", offset)

# 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n", timestamp + offset)

# 주어진 DateOffset 객체의 나노초 수 반환
print("\nThe number of nanoseconds in the DateOffset object..\n", offset.nanos)

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Timestamp...
 2021-08-30 03:08:02.000045

DateOffset...
 <5 * Days>

Updated Timestamp...
 2021-09-04 03:08:02.000045

The number of nanoseconds in the DateOffset object..
 432000000000000

결과 해석

출력 결과를 보면 원래 타임스탬프인 2021-08-30 03:08:02.000045에 5일이 더해져 2021-09-04 03:08:02.000045가 된 것을 확인할 수 있습니다. 또한 offset.nanos432000000000000을 반환하는데, 이는 1일이 86,400초이므로 5일 × 86,400초 × 1,000,000,000나노초 = 432조 나노초에 해당합니다.

참고 사항

nanos 속성은 일(D), 시간(H), 분(T), 초(S)처럼 길이가 고정된 오프셋에만 사용할 수 있습니다. 반면 월말(MonthEnd)이나 연말(YearEnd)처럼 실제 달력에 따라 길이가 달라지는 상대적(relative) 오프셋에 이 속성을 호출하면 오류가 발생하므로 주의해야 합니다.