私は以下のpdデータフレームを持っています。 Iは、上記の例でパンダで列間の日付を補間する
x: x1
independent = [d1, d2, d3]
dependent = [v1, v2, v3]
を補間することにより、列X2を算出したい
import pandas as pd
df = pd.DataFrame([pd.datetime(2016,1,1), pd.datetime(2016,2,1)], columns = ['d1'])
df['d2'] = [pd.datetime(2016,1,5), pd.datetime(2016,2,10)]
df['d3'] = [pd.datetime(2016,1,10), pd.datetime(2016,2,20)]
df['v1'], df['v2'], df['v3'] = [1,10], [5, 100], [5, 100]
df['x1'] = [pd.datetime(2016,1,2), pd.datetime(2016,2,13)]
d1 d2 d3 v1 v2 v3 x1
0 2016-01-01 2016-01-05 2016-01-10 1 5 5 2016-01-02
1 2016-02-01 2016-02-10 2016-02-20 10 100 100 2016-02-13
、x2は行0 2、私が使用して考えることができる行1
100であるべきですdp.iterrows()、スライス[d1-d3]、[v1-v3]を使用して、np.interpを使用しますが、日付を浮動小数点に変換する必要があるため、 (np.interpは浮動小数点のリストのみを取ります)。
Pandasでは、よりクリーンでベクトル化されたアプローチが必要ですか?
おかげ。アイデアのように、補間は行ごとに行う必要があります。あなたの例のdf2はすべての行からd'とsを組み合わせます。 –
指定したデータ例では、各行の日付は、行全体で重複しない期間を形成しました。この種の重複が発生する場合がありますか? –
はい、申し訳ありませんが、私の例は悪いです。重複があります。より良い例は、すべての 'Feb'を1行目の 'Jan'に置き換えることです。 –