Pandas에서 timedelta를 int로 변환하는 방법(예제 포함)
다음 방법을 사용하여 pandas DataFrame에서 timedelta 열을 정수 열로 변환할 수 있습니다.
방법 1: Timedelta를 정수(일)로 변환
df[' days '] = df[' timedelta_column ']. dt . days
방법 2: Timedelta를 정수(시간)로 변환
df[' hours '] = df[' timedelta_column '] / pd. Timedelta (hours= 1 )
방법 3: Timedelta를 정수(분)로 변환
df[' minutes '] = df[' timedelta_column '] / pd. Timedelta (minutes= 1 )
다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' promotion ': ['A', 'B', 'C', 'D'],
' start ': ['2021-10-04 13:29:00', '2021-10-07 12:30:00',
'2021-10-15 04:20:00', '2021-10-18 15:45:03'],
' end ': ['2021-10-08 11:29:06', '2021-10-15 10:30:07',
'2021-10-29 05:50:15', '2021-10-22 15:40:03']})
#convert start date and end date columns to datetime
df[' start '] = pd. to_datetime (df[' start '])
df[' end '] = pd. to_datetime (df[' end '])
#create new column that contains time delta between start and end
df[' duration '] = df[' end '] - df[' start ']
#view DataFrame
print (df)
promotion start end duration
0 A 2021-10-04 13:29:00 2021-10-08 11:29:06 3 days 22:00:06
1 B 2021-10-07 12:30:00 2021-10-15 10:30:07 7 days 22:00:07
2 C 2021-10-15 04:20:00 2021-10-29 05:50:15 14 days 01:30:15
3 D 2021-10-18 15:45:03 2021-10-22 15:40:03 3 days 23:55:00
예 1: Timedelta를 정수(일)로 변환
다음 코드는 기간 열의 시간델타를 시간델타 열의 일수를 나타내는 정수 값으로 변환하는 일 이라는 새 열을 생성하는 방법을 보여줍니다.
#create new column that converts timedelta into integer number of days
df[' days '] = df[' duration ']. dt . days
#view updated DataFrame
print (df)
promotion start end duration days
0 A 2021-10-04 13:29:00 2021-10-08 11:29:06 3 days 22:00:06 3
1 B 2021-10-07 12:30:00 2021-10-15 10:30:07 7 days 22:00:07 7
2 C 2021-10-15 04:20:00 2021-10-29 05:50:15 14 days 01:30:15 14
3 D 2021-10-18 15:45:03 2021-10-22 15:40:03 3 days 23:55:00 3
dtype을 사용하여 이 새 열의 데이터 유형을 확인할 수 있습니다.
#check data type
df. days . dtype
dtype('int64')
새 열은 정수입니다.
예 2: Timedelta를 정수(시간)로 변환
다음 코드는 기간 열의 시간 델타를 시간 델타 열의 총 시간을 나타내는 숫자 값으로 변환하는 시간 이라는 새 열을 생성하는 방법을 보여줍니다.
#create new column that converts timedelta into total number of hours
df[' hours '] = df[' duration '] / pd. Timedelta (hours= 1 )
#view updated DataFrame
print (df)
promotion start end duration hours
0 A 2021-10-04 13:29:00 2021-10-08 11:29:06 3 days 22:00:06 94.001667
1 B 2021-10-07 12:30:00 2021-10-15 10:30:07 7 days 22:00:07 190.001944
2 C 2021-10-15 04:20:00 2021-10-29 05:50:15 14 days 01:30:15 337.504167
3 D 2021-10-18 15:45:03 2021-10-22 15:40:03 3 days 23:55:00 95.916667
dtype을 사용하여 이 새 열의 데이터 유형을 확인할 수 있습니다.
#check data type
df. hours . dtype
dtype('float64')
새 열은 부동 소수점입니다.
예 3: Timedelta를 정수(분)로 변환
다음 코드는 기간 열의 시간 델타를 시간 델타 열의 총 분 수를 나타내는 숫자 값으로 변환하는 분이라는 새 열을 생성하는 방법을 보여줍니다.
#create new column that converts timedelta into total number of minutes
df[' minutes '] = df[' duration '] / pd. Timedelta (minutes= 1 )
#view updated DataFrame
print (df)
promotion start end duration minutes
0 A 2021-10-04 13:29:00 2021-10-08 11:29:06 3 days 22:00:06 5640.100000
1 B 2021-10-07 12:30:00 2021-10-15 10:30:07 7 days 22:00:07 11400.116667
2 C 2021-10-15 04:20:00 2021-10-29 05:50:15 14 days 01:30:15 20250.250000
3 D 2021-10-18 15:45:03 2021-10-22 15:40:03 3 days 23:55:00 5755.000000
dtype을 사용하여 이 새 열의 데이터 유형을 확인할 수 있습니다.
#check datatype
df. minutes . dtype
dtype('float64')
새 열은 부동 소수점입니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 열을 DateTime으로 변환하는 방법
Pandas에서 DateTime을 날짜로 변환하는 방법
Pandas에서 날짜로부터 월을 추출하는 방법