我正在尝试使用pandas合并两个数据框。
lu_3
Site SurveyDate TripDate
003L 1990-09-28 1990-06-10
065r 2008-04-03 2008-03-28
data
Site SurveyDate
003L 1990-09-28
065r 2008-04-03
我正在尝试合并lu_3
以使用data
填充TripDate
。 data
已被子集化以便于阅读,但包含的列数多于显示的列数。两个数据框都使用Site
作为索引。
我试过了:
tmp = data.merge(lu_3,left_index=True,right_index=True,how='left', on=['SurveyDate'])
但是这会为旅行日期返回NaT
。
检查数据类型会产生:
lu_3.dtypes
Out[111]:
SurveyDate datetime64[ns]
TripDate datetime64[ns]
dtype: object
data.dtypes
Out[114]:
SurveyDate datetime64[ns]
修改
我已重置data
和lu_3
上的指示,并尝试合并使用:
tmp = tmp_data.merge(lu_3,on=['Site','SurveyDate'], how='left').set_index('Site')
但我NaT
TripDate
的{{1}}仍然tmp
。
答案 0 :(得分:0)
我认为您在合并索引
时不需要指定tmp = data.merge(lu_3,left_index=True,right_index=True,how='left')
SurveyDate_x SurveyDate_y TripDate
Site
003L 1990-09-28 1990-09-28 1990-06-10
065r 2008-04-03 2008-04-03 2008-03-28