English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Pandas Timedelta

Pandas Timedelta의 연산 예제

시간 증가는 시간 차이로 표현된 시간 차이이며, 예를 들어, 일, 시간, 분, 초로 표현됩니다. 양수와 음수가 될 수 있습니다.

문자열 문자를 전달하여 timedelta 객체를 생성할 수 있습니다.

문자열

Timedelta 객체를 생성하기 위해 다양한 파라미터를 사용할 수 있습니다. 예를 들어:-

import pandas as pd
print(pd.Timedelta('2 일 2 시간 15 분 30 초'))

실행 결과는 다음과 같습니다:

 2 일 02:15:30

정수

단위를 전달하여 정수 값을 사용하면 Timedelta 객체를 생성합니다.

import pandas as pd
print(pd.Timedelta(6,unit='h'))

실행 결과는 다음과 같습니다:

 0 일 06:00:00

데이터 오프셋

데이터 오프셋(예-주, 일, 시간, 분, 초, 밀리초, 마이크로초, 나노초()도 생성 시 사용할 수 있습니다.

import pandas as pd
print(pd.Timedelta(days=2))

실행 결과는 다음과 같습니다:

2 days 00:00:00

to_timedelta()

pd.to_timedelta를 사용하여 스칼라, 배열, 리스트 또는 시리즈를 공식적인 timedelta 형식으로 변환할 수 있습니다./Timedelta형으로 변환됩니다. 입력이 Series라면 Series를 생성하며, 입력이 스칼라라면 스칼라를 생성하며, 그렇지 않으면 TimedeltaIndex를 출력합니다。

import pandas as pd
print(pd.Timedelta(days=2))

실행 결과는 다음과 같습니다:

2 days 00:00:00

具体操作

您可以对Series / DataFrame를 사용하여 datetime64 [ns] Series 또는 Timestamps를 사용하여 뺄 연산을 수행하여 timedelta을 구성64 [ns] Series 。
지금让我们创建一个带有Timedelta和datetime对象的DataFrame并对其执行一些算术运算-

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
 df = pd.DataFrame(dict(A = s, B = td))
 print(df)

실행 결과는 다음과 같습니다:

          A      B
0  2012-01-01 0 일
1  2012-01-02 1 일
2  2012-01-03 2 일

더하기 연산

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
 df = pd.DataFrame(dict(A = s, B = td))
 df['C'] = df['A']+df['B']
 print(df)

실행 결과는 다음과 같습니다:

         A      B          C
0 2012-01-01 0 일 2012-01-01
1 2012-01-02 1 일 2012-01-03
2 2012-01-03 2 일 2012-01-05

빼기 연산

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
 df = pd.DataFrame(dict(A = s, B = td))
 df['C'] = df['A']+df['B']
 df['D'] = df['C']+df['B']
 print(df)

실행 결과는 다음과 같습니다:

         A      B          C          D
0 2012-01-01 0 일 2012-01-01 2012-01-01
1 2012-01-02 1 일 2012-01-03 2012-01-04
2 2012-01-03 2 일 2012-01-05 2012-01-07