2016-09-26 52 views
0

我有兩個熊貓數據框,並希望在日期匹配的DF1中插入來自DF2值的日期和星期列。例如例如以下,第4天和第1周將從DF2第1行中提取,並插入到DF1中的所有日和周列中。基於條件語句熊貓的輸入列

DF 1

montgomery year date  day  week 
0.0   2016 04/01/2016 
0.0   2016 04/01/2016 
0.0   2016 04/01/2016 
0.0   2016 04/01/2016 

DF 2

date  day week 
04/01/2016 4 1 
05/01/2016 5 1 
06/01/2016 6 1 

我已經調查使用numpy的條件語句,但還沒有達到解決,感謝

+0

不'df1.combine_first(DF2)'工作 – EdChum

+0

如果您的日期是日期時間或字符串,並在你的第二個DF的日期格式是從你的例子顯示不清短短一年格式,你可以澄清這 – EdChum

回答

0

IIUC你需要to_datetimemerge

#if empty columns in DF1, remove them 
DF1 = DF1.drop(['day','week'], axis=1) 

#convert columns to datetimes 
DF1.date = pd.to_datetime(DF1.date) 
DF2.date = pd.to_datetime(DF2.date) 

print (pd.merge(DF1,DF2, how='left', on='date')) 
    montgomery year  date day week 
0   0.0 2016 2016-04-01 4  1 
1   0.0 2016 2016-04-01 4  1 
2   0.0 2016 2016-04-01 4  1 
3   0.0 2016 2016-04-01 4  1