ホームページ >バックエンド開発 >Python チュートリアル >2 つの Pandas 列間の時間差を時と分のみで計算するにはどうすればよいですか?
import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data)2 つの間の差を計算するには日付の場合は、- 演算子を使用できます。
df['diff'] = df['fromdate'] - df['todate']この演算の結果、datetime.timedelta オブジェクトを含む diff 列が生成されます。ただし、次の出力に示すように、これらのオブジェクトにはコンポーネントとして日が含まれる場合があります。
todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760000この結果を時間と分のみに変換するには、「timedelta64[」を指定した astype() メソッドを利用できます。 h]' 引数:
(df.fr-df.to).astype('timedelta64[h]')このコードは時差を時間に変換し、次のようになります。出力:
0 58 1 3 2 8 dtype: float64このメソッドを適用すると、差が 24 時間を超えるかどうかに関係なく、2 つの日付またはタイムスタンプ間の時差を時と分で取得できます。
以上が2 つの Pandas 列間の時間差を時と分のみで計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。