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에서 날짜로부터 월을 추출하는 방법

의견을 추가하다

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