Pandas: 두 시간의 차이를 계산하는 방법


다음 구문을 사용하여 Pandas DataFrame에서 두 시간의 차이를 계산할 수 있습니다.

 #calculate time difference in hours
df[' hours_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (hours= 1 )

#calculate time difference in minutes
df[' min_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (minutes= 1 )

#calculate time difference in seconds
df[' sec_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (seconds= 1 )

이 특정 예는 일부 Pandas DataFrame의 end_timestart_time 열 시간 차이를 계산합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: 팬더에서 두 시간의 차이 계산

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df=pd. DataFrame ({' start_time ':pd. date_range (start=' 5/25/2020 ', periods= 6 , freq=' 15min '),
                 ' end_time ':pd. date_range (start=' 5/26/2020 ', periods= 6 , freq=' 30min ')})

#view DataFrame
print (df)

           start_time end_time
0 2020-05-25 00:00:00 2020-05-26 00:00:00
1 2020-05-25 00:15:00 2020-05-26 00:30:00
2 2020-05-25 00:30:00 2020-05-26 01:00:00
3 2020-05-25 00:45:00 2020-05-26 01:30:00
4 2020-05-25 01:00:00 2020-05-26 02:00:00
5 2020-05-25 01:15:00 2020-05-26 02:30:00

다음 구문을 사용하여 start_timeend_time 열 간의 시간 차이를 시, 분, 초 단위로 계산할 수 있습니다.

 #calculate time difference in hours
df[' hours_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (hours= 1 )

#calculate time difference in minutes
df[' min_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (minutes= 1 )

#calculate time difference in seconds
df[' sec_diff '] = (df. end_time - df. start_time ) / pd. Timedelta (seconds= 1 )

#view updated DataFrame
print (df)

           start_time end_time hours_diff min_diff sec_diff
0 2020-05-25 00:00:00 2020-05-26 00:00:00 24.00 1440.0 86400.0
1 2020-05-25 00:15:00 2020-05-26 00:30:00 24.25 1455.0 87300.0
2 2020-05-25 00:30:00 2020-05-26 01:00:00 24.50 1470.0 88200.0
3 2020-05-25 00:45:00 2020-05-26 01:30:00 24.75 1485.0 89100.0
4 2020-05-25 01:00:00 2020-05-26 02:00:00 25.00 1500.0 90000.0
5 2020-05-25 01:15:00 2020-05-26 02:30:00 25.25 1515.0 90900.0

새 열에는 start_timeend_time 열 간의 시간 차이가 서로 다른 단위로 포함됩니다.

예를 들어 첫 번째 줄을 살펴보겠습니다.

  • 시작 시간과 종료 시간의 차이는 24시간 입니다.
  • 시작 시간과 종료 시간의 차이는 1440분 입니다.
  • 시작 시간과 종료 시간의 차이는 86,400초 입니다.

이 예에서는 start_timeend_time 열의 형식이 이미 datetime으로 지정되어 있습니다.

시간 열이 현재 문자열 형식으로 되어 있는 경우 시간 차이를 계산하기 전에 먼저 pd.to_datetime을 사용하여 각 열을 날짜/시간 형식으로 변환할 수 있습니다.

 #convert columns to datetime format
df[[' start_time ', ' end_time ']] = df[[' start_time ', ' end_time ]]. apply (pd. to_datetime )

그런 다음 열이 모두 팬더가 인식할 수 있는 날짜/시간 형식이므로 열 간의 시간 차이를 계산할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 날짜 범위를 만드는 방법
Pandas에서 날짜로부터 월을 추출하는 방법
Pandas에서 타임스탬프를 날짜/시간으로 변환하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다