2016-07-31 25 views
2

使用下面的測試熊貓數據框我試圖在某些標準匹配後從另一個數據框中的匹配索引中複製值。在標準匹配後從另一個數據框中的匹配索引中複製值

這是從數據框剪斷稱爲data2

    Signal Value2 
2013-01-01 09:00:00 1.0 NaN 
2013-01-01 10:00:00 1.0 NaN 
2013-01-01 11:00:00 1.0 NaN 
2013-01-01 12:00:00 1.0 NaN 
2013-01-01 13:00:00 1.0 NaN 
2013-01-01 14:00:00 -1.0 NaN 

,這是從data剪斷:

value 
2013-01-01 09:00:00 9 
2013-01-01 10:00:00 10 
2013-01-01 11:00:00 11 
2013-01-01 12:00:00 12 
2013-01-01 13:00:00 13 
2013-01-01 14:00:00 14 
2013-01-01 15:00:00 15 
2013-01-01 16:00:00 16 
2013-01-02 09:00:00 33 
2013-01-02 10:00:00 34 

所以當data2Signal2013-01-01 14:00:00顯示-1我想複製相應的value from data這是14並複製到data2Values2

下面是測試這個代碼:

import pandas as pd 
import datetime 
import numpy as np 
index = pd.date_range('2013-1-1',periods=100,freq='1h') 
data = pd.DataFrame(data=list(range(100)), columns=['value'], index=index) 

signal = 1.0 
data2 = pd.DataFrame(data=signal, columns=['Signal'], index=index) 
data2['Signal']['2013-01-01 14:00:00'] = -1.0 
data2['Value2'] = np.nan 
start = datetime.time(9,0,0) 
end = datetime.time(16,00,0) 
data = data.between_time(start,end) 

這將最終在一個的大數據幀被使用,將涉及多天。

回答

3

可能是這樣的?

data2.loc[data2.Signal == -1, 'Value2'] = data.loc[data2.Signal == -1, 'value']