Pandas: timedelta를 월 단위로 계산하는 방법


다음 함수를 사용하여 Pandas DataFrame의 두 열 사이의 시간 델타(월)를 계산할 수 있습니다.

 def month_diff(x, y):
    end = x. dt . to_period (' M '). view (dtype=' int64 ')
    start = y. dt . to_period (' M '). view (dtype=' int64 ')
    return end-start

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

예: Pandas에서 Timedelta를 월 단위로 계산합니다.

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' event ': ['A', 'B', 'C'],
                   ' start_date ': ['20210101', '20210201', '20210401'],
                   ' end_date ': ['20210608', '20210209', '20210801'] })

#convert start date and end date columns to datetime
df[' start_date '] = pd. to_datetime (df[' start_date '])
df[' end_date '] = pd. to_datetime (df[' end_date '])

#view DataFrame
print (df)

  event start_date end_date
0 A 2021-01-01 2021-06-08
1 B 2021-02-01 2021-02-09
2 C 2021-04-01 2021-08-01

이제 start_dateend_date 열 사이의 시간 델타(월 단위)를 계산한다고 가정합니다.

이를 위해 먼저 다음 함수를 정의합니다.

 #define function to calculate time delta in months between two columns
def month_diff(x, y):
    end = x. dt . to_period (' M '). view (dtype=' int64 ')
    start = y. dt . to_period (' M '). view (dtype=' int64 ')
    return end-start

다음으로, 이 함수를 사용하여 start_dateend_date 열 사이의 시간 델타(월)를 계산합니다.

 #calculate month difference between start date and end date columns
df[' month_difference '] = month_diff(df. end_date , df. start_date )

#view updated DataFrame
df

    event start_date end_date month_difference
0 A 2021-01-01 2021-06-08 5
1 B 2021-02-01 2021-02-09 0
2 C 2021-04-01 2021-08-01 4

Month_difference 열에는 start_dateend_date 열 사이의 시간 델타(월)가 표시됩니다.

추가 리소스

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

Pandas에서 열을 DateTime으로 변환하는 방법
Pandas에서 DateTime을 날짜로 변환하는 방법
Pandas에서 날짜로부터 월을 추출하는 방법

의견을 추가하다

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