2016-06-30 11 views
2

私は2つのパンダのデータフレームを持っています。両方ともdatetimeエントリのインデックスです。 df1にはユニークでない時間インデックスがありますが、df2には固有のタイムインデックスがあります。 df1に列df2.aを追加します。df1のタイムスタンプがtsのすべての行について、df2.aの最新の値がtsより小さい、df1.aが含まれている必要があります。例えばパンダ:最新の値を持つ列を追加してください

は、のはdf2は毎分サンプリングされ、タイムスタンプ08:00:1508:00:47df108:02:35を持つ行があるとしましょう。この場合、最初の2行にdf2.a[08:00:00]の値を使用し、3行目にはdf2.a[08:02:00]を使用します。これどうやってするの?

答えて

1

df1の行に適用され、ffillでdf2のインデックスを再作成します。

df1['df2.a'] = df1.apply(lambda x: pd.Series(df2.a.reindex([x.name]).ffill().values), axis=1) 
関連する問題