私は2つのPandasデータフレームを持っています。まず一つは(db1
)のようになります。他のDataFrameからの日付の間にある日付に基づいてDataFrameに参加します
id date_from date_until v1 v2
0 2015-06-17 2015-06-19 2 3
0 2015-06-17 2015-07-01 3 4
1 2015-06-18 2015-06-20 5 6
1 2015-06-19 2015-07-12 5 4
2つ目(db2
)、次のように:
id date v3 v4
0 2015-06-17 4 3
1 2015-06-17 5 6
1 2015-06-18 6 4
いいえ、私は、彼らがid
とdate
に基づいてそれらを圧縮します。 db2.date
がより古く、またはdb1.date_from
より大きい場合、日付圧縮は、db2
のうちの最も若いものを使用してください。それ以上の人はまだdb1.data_from
より古いです。私はトラフすべての行を反復処理以外の任意の解決策を見つけることはできませんが、私のデータは、ラインの100K大きいので、これは十分ではありません
id date_from date_until date v1 v2 v3 v4
0 2015-06-17 2015-06-19 2015-06-17 2 3 4 3
0 2015-06-17 2015-07-01 2015-06-17 3 4 4 3
1 2015-06-18 2015-06-20 2015-06-18 5 6 6 4
1 2015-06-19 2015-07-12 2015-06-18 5 4 6 4
: だから、圧縮されたデータは、次のようになります。パンダでこれを行うためのツールはありますか?何か他のものを使うべきですか?
ありがとうございました!
質問はテーラーが – piRSquared
:-) merge_asofのために作られたほとんどかのようにハッ!私はそれを考えなかった。 merge_asofに注意を払うだけでいいです – piRSquared