ホームページ > バックエンド開発 > Python チュートリアル > 2 つの Pandas 列間の時間差を時と分のみで計算するにはどうすればよいですか?

2 つの Pandas 列間の時間差を時と分のみで計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-01 15:11:09
オリジナル
266 人が閲覧しました

How to Calculate the Time Difference Between Two Pandas Columns in Hours and Minutes Only?

2 つの Pandas 列間の時間差を時と分で計算する

データ分析では、多くの場合、2 つの日付またはタイムスタンプ間の時間差を計算する必要があります。 Python の人気のあるデータ分析ライブラリである Pandas は、このような計算に便利なメソッドを提供します。ただし、時差が 24 時間を超える場合、結果には日数が含まれる場合があります。この記事では、この結果を時間と分のみを表示するように変換する方法について説明します。

fromdate と todate という 2 つの列がある次のデータフレームの例を考えてみましょう。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート