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_date 와 end_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_date 와 end_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_date 와 end_date 열 사이의 시간 델타(월)가 표시됩니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 열을 DateTime으로 변환하는 방법
Pandas에서 DateTime을 날짜로 변환하는 방법
Pandas에서 날짜로부터 월을 추출하는 방법