2016-12-14 52 views
0

我有兩個數據框與時間列和值列,df1df2df1是形狀[30000000 x 20]df2是形狀[400 x 20]。我需要在df1中創建一個新列,其中包含距離日期最近的df2行中的df2的值。這是我如何做到這一點:加速Pandas中的最近日期合併?

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']] 

這工作,但需要很長的時間。如同數千萬行數據幀一樣,數小時。

有沒有更有效的方法來做到這一點?

回答