2016-09-26 90 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