Pandas: datetime에 시간을 더하거나 빼는 방법
다음 기본 구문을 사용하여 Pandas의 날짜/시간에서 시간을 더하거나 뺄 수 있습니다.
#add time to datetime df[' new_datetime '] = df[' my_datetime '] + pd. Timedelta (hours= 5 , minutes= 10 , seconds= 3 ) #subtract time from datetime df[' new_datetime '] = df[' my_datetime '] - pd. Timedelta (hours= 5 , minutes= 10 , seconds= 3 )
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Pandas의 Datetime에 시간 더하기/빼기
10가지 날짜와 시간에 매장의 매출을 보여주는 다음과 같은 팬더 DataFrame이 있다고 가정해 보겠습니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' time ': pd.date_range (' 2022-01-01 ', periods= 10 ), ' sales ': [14, 22, 25, 29, 31, 10, 12, 8, 22, 25]}) #view DataFrame print (df) time sales 0 2022-01-01 14 1 2022-01-02 22 2 2022-01-03 25 3 2022-01-04 29 4 2022-01-05 31 5 2022-01-06 10 6 2022-01-07 12 7 2022-01-08 8 8 2022-01-09 22 9 2022-01-10 25
pandas Timedelta 함수를 사용하여 “시간” 열의 각 날짜/시간 값에 5시간, 10분, 3초를 추가할 수 있습니다.
#create new column that contains time + 5 hours, 10 minutes, 3 seconds
df[' time_plus_some '] = df[' time '] + pd. Timedelta (hours= 5 , minutes= 10 , seconds= 3 )
#view updated DataFrame
print (df)
time sales time_plus_some
0 2022-01-01 14 2022-01-01 05:10:03
1 2022-01-02 22 2022-01-02 05:10:03
2 2022-01-03 25 2022-01-03 05:10:03
3 2022-01-04 29 2022-01-04 05:10:03
4 2022-01-05 31 2022-01-05 05:10:03
5 2022-01-06 10 2022-01-06 05:10:03
6 2022-01-07 12 2022-01-07 05:10:03
7 2022-01-08 8 2022-01-08 05:10:03
8 2022-01-09 22 2022-01-09 05:10:03
9 2022-01-10 25 2022-01-10 05:10:03
그리고 “time” 열의 각 날짜/시간 값에서 5시간, 10분, 3초를 빼는 새 열을 쉽게 만들 수 있습니다.
#create new column that contains time - 5 hours, 10 minutes, 3 seconds
df[' time_minus_some '] = df[' time '] - pd. Timedelta (hours= 5 , minutes= 10 , seconds= 3 )
#view updated DataFrame
print (df)
time sales time_minus_some
0 2022-01-01 14 2021-12-31 18:49:57
1 2022-01-02 22 2022-01-01 18:49:57
2 2022-01-03 25 2022-01-02 18:49:57
3 2022-01-04 29 2022-01-03 18:49:57
4 2022-01-05 31 2022-01-04 18:49:57
5 2022-01-06 10 2022-01-05 18:49:57
6 2022-01-07 12 2022-01-06 18:49:57
7 2022-01-08 8 2022-01-07 18:49:57
8 2022-01-09 22 2022-01-08 18:49:57
9 2022-01-10 25 2022-01-09 18:49:57
참고 #1 : 이 예에서는 특정 시간, 분, 초를 사용했지만 원하는 경우 이러한 단위 중 하나만 사용할 수도 있습니다. 예를 들어 pd.Timedelta(hours=5)를 지정하면 날짜/시간 값에 5시간만 추가할 수 있습니다.
참고 #2 : 여기에서 pandas Timedelta 함수에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 Timedelta를 Int로 변환하는 방법
Pandas에서 DateTime을 문자열로 변환하는 방법
Pandas에서 타임스탬프를 날짜/시간으로 변환하는 방법
Pandas에서 연도, 월, 일로 날짜 열을 만드는 방법