我在做 df.Merge 错了吗? [英] Am I doing a df.Merge wrong?
本文介绍了我在做 df.Merge 错了吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有一个 df1 看起来有这一行
So I have one df1 which looks has this row amongst others
PlayDate Timeslot UserID
2005-09-09 6-16-1 59
我有 df2,其中包含:
and I have df2 which contains:
UserID PlayDate Timeslot PlayCount EstProb
59 2005-09-09 6-16-1 1 0.214459
然后我尝试使用合并将 df2 中的额外列引入 df1.df1.merge(df2,how='left',on=['Timeslot','PlayDate','UserID'])
I then try and bring in the extra columns from df2 into df1 using a merge. df1.merge(df2,how='left',on=['Timeslot','PlayDate','UserID'])
(请注意,df1 的列比 df2 中存在的列多,因此我做左)
(Note that df1 has more columns than exist in df2 hence why I do a left)
当我之后查看 df1 时,我看到:
When I review df1 afterwards I see:
PlayDate Timeslot UserID PlayCount EstProb
2005-09-09 6-16-1 59 NaN NaN
我做错了什么?
推荐答案
检查以确保数据帧的 dtypes 匹配.
Check to make sure that your dtypes of your dataframes match.
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
这篇关于我在做 df.Merge 错了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文