输入列基于条件语句pandas

时间:2016-09-26 13:07:09

标签: python pandas numpy dataframe

我有两个Pandas数据框,并希望在日期匹配的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条件语句,但还没有达成解决方案,谢谢

1 个答案:

答案 0 :(得分:0)

您需要to_datetimemerge

的IIUC
#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