2016-12-14 6 views
0

私は、時間列と値列を持つ2つのデータフレーム、df1df2を持っています。 df1は形状[30000000 x 20]であり、df2は形状[400 x 20]である。 df1に、df2の行にある最も近い日付の値がdf2の新しい列を作成する必要があります。これは私がやっている方法です:パンダで最も近い時間を早める?

df2= df2.sort_values(by='time_col').reset_index(drop=True) 

    df1['closest'] = np.searchsorted(df2['time_col'].values, df1['time_col'].values) 
    df1['new_values'] = [df2.loc[x, 'value_col'] for x in sales['closest']] 

これは動作しますが、非常に長い時間がかかります。同様に、3000万行のデータフレームで数時間。

これを行うより効率的な方法はありますか?

答えて

関連する問題