【发布时间】:2015-06-16 20:46:02
【问题描述】:
我有 2 个 Pandas 数据框。
第一个看起来像这样:
date rank id points
2010-01-04 1 100001 10550
2010-01-04 2 100002 9205
第二个是这样的:
id name
100001 A
100002 B
我想通过id 列加入两个数据框。所以结果应该是这样的:
date rank id points name
2010-01-04 1 100001 10550 A
2010-01-04 2 100002 9205 B
几周前我为此编写了代码,但由于某种原因它不再起作用了。执行此加入代码后,我得到一个空数据框:
join = pd.merge(df1,df2, on='id')
为什么join 是空的?
【问题讨论】:
-
啊,ID 列似乎有问题。对于 df1 它们是对象类型,对于 df2 它们是整数。因此,加入不起作用...
-
请编辑以包含
print(df1["id"])和print(df2["id"]))的结果(这可能会显示问题。) --update: 看起来这就是问题所在。 :-) 您可能正在将字符串与整数进行比较。你现在可以回答你自己的问题了..
标签: join pandas merge dataframe