我做的df.Merge错了吗?

时间:2017-06-26 19:06:42

标签: python-3.x pandas

所以我有一个df1看起来有这一行

PlayDate   Timeslot   UserID
2005-09-09   6-16-1   59

我的df2包含:

UserID   PlayDate   Timeslot   PlayCount   EstProb
59       2005-09-09  6-16-1       1        0.214459

然后尝试使用合并将df2中的额外列引入df1。 df1.merge(DF2,如何= '左',在= [ '时隙', 'PlayDate', '用户ID'])

(请注意,df1中的列数比df2中的列数多,因此为什么我要执行左列)

之后我回顾df1时看到:

PlayDate    Timeslot   UserID   PlayCount   EstProb
2005-09-09   6-16-1      59       NaN         NaN

我做错了什么?

1 个答案:

答案 0 :(得分:2)

检查以确保数据框的dtypes匹配。

df1['PlayDate'] = pd.to_datetime(df1['PlayDate'])
df2['PlayDAte'] = pd.to_datetime(df2['PlayDate'])
df1.merge(df2,how='outer',on=['Timeslot','PlayDate','UserID'])

输出:

     PlayDate Timeslot  UserID  PlayCount   EstProb
0  2005-09-09   6-16-1      59          1  0.214459