添加链接到数据框中日期的值

时间:2016-11-16 15:48:02

标签: python pandas dataframe

我有一个数据框,其常规日期范围可以说是一个月。然后我有另一个数据框,其中包含同月的几个日期和这些日期的值。我想将这些值传递给第一个数据帧相同的日期:

Dataframe with consecutive dates
0 2016-11-01
1 2016-11-02
2 2016-11-03
3 2016-11-04
4 2016-11-05
5 2016-11-06
…

Dataframe with just some dates and values
0 2016-11-02 55
1 2016-11-04 34
2 2016-11-06 21
…

Dataframe I am trying to get
0 2016-11-01
1 2016-11-02 55
2 2016-11-03
3 2016-11-04 34
4 2016-11-05
5 2016-11-06 21
…

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用mapmerge,如果on中的其他列名与加入列中没有其他相同的列名,则可省略DataFrames(如果不使用{{} 1}}):

on='date'
print (df1)
         date
0  2016-11-01
1  2016-11-02
2  2016-11-03
3  2016-11-04
4  2016-11-05
5  2016-11-06

print (df2)
         date  val
0  2016-11-02   55
1  2016-11-04   34
2  2016-11-06   21

df1['val'] = df1.date.map(df2.set_index('date')['val'])
print (df1)
         date   val
0  2016-11-01   NaN
1  2016-11-02  55.0
2  2016-11-03   NaN
3  2016-11-04  34.0
4  2016-11-05   NaN
5  2016-11-06  21.0