English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas Timedeltaの操作例
時間増分は時間の差異で表され、差異の単位で示されます。例えば、日、時間、分、秒です。それらは正のものや負のものがあります。
文字列リテラルを渡すことでtimedeltaオブジェクトを作成できます。
以下のように、さまざまなパラメータでTimedeltaオブジェクトを作成できます。-
import pandas as pd print(pd.Timedelta('2 days 2 hours 15 minutes 30 seconds'))
以下は実行結果です:
2 days 02:15:30
単位を整数値で渡すことで、パラメータがTimedeltaオブジェクトを作成します。
import pandas as pd print(pd.Timedelta(6,unit='h'))
以下は実行結果です:
0 days 06:00:00
データオフセット(例えば-週、日、時間、分、秒、ミリ秒、マイクロ秒、ナノ秒()も構築時に使用できます。
import pandas as pd print(pd.Timedelta(days=2))
以下は実行結果です:
2 days 00:00:00
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 days 1 2012-01-02 1 days 2 2012-01-03 2 days
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 days 2012-01-01 1 2012-01-02 1 days 2012-01-03 2 2012-01-03 2 days 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 days 2012-01-01 2012-01-01 1 2012-01-02 1 days 2012-01-03 2012-01-04 2 2012-01-03 2 days 2012-01-05 2012-01-07