列の値の範囲に基づくデータフレームの結合
指定されたコンテキストには、マージする必要がある 2 つのデータフレーム df_1 と df_2 があります。 df_1 のタイムスタンプ列が の開始列と終了列の範囲内に収まるように設定します。 df_2.
これを実現する 1 つのアプローチは、df_2 の開始列と終了列から間隔インデックスを作成することです。次に、get_loc メソッドを使用して、df_1 の各タイムスタンプに対応するイベントを取得できます。このソリューションの Python コードは次のとおりです。
# Create interval index from df_2 df_2.index = pd.IntervalIndex.from_arrays(df_2['start'], df_2['end'], closed='both') # Get corresponding event for each timestamp in df_1 df_1['event'] = df_1['timestamp'].apply(lambda x: df_2.iloc[df_2.index.get_loc(x)]['event'])
これにより、df_1 にevent という名前の新しい列が作成されます。この列には、df_2 で指定された範囲内にある各タイムスタンプに対応するイベントが含まれます。結果として結合されたデータフレームには次の列が含まれます:
timestamp A B event
出力は次のようになります:
timestamp A B event 0 2016-05-14 10:54:33 0.020228 0.026572 E1 1 2016-05-14 10:54:34 0.057780 0.175499 E2 2 2016-05-14 10:54:35 0.098808 0.620986 E2 3 2016-05-14 10:54:36 0.158789 1.014819 E2 4 2016-05-14 10:54:39 0.038129 2.384590 E3
以上がタイムスタンプ範囲に基づいてデータフレームを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。