我以前曾与Stata合作过,现在正试图用Python完成同样的工作。但是,merge命令有问题。不知怎么的,我一定是丢了什么东西。我要合并的两个数据帧如下所示:
df1:
Date id Market_Cap
2000 1 400
2000 2 200
2001 1 410
2001 2 220
df2:
id Ticker
1 Shell
2 ExxonMobil
我现在的目标是获得以下数据集:
Date id Market_Cap Ticker
2000 1 400 Shell
2000 2 200 ExxonMobil
2001 1 410 Shell
2001 2 220 ExxonMobil
我尝试了以下命令:
merged= pd.merge(df1, df2, how="left", on="id")
这合并了数据集,但在Ticker列中只给出了nan。 我看了好几个消息来源,也许我错了,但是“左”的命令对我来说不是正确的吗?我也试过“右”和“外”。他们得不到我想要的结果,“内在”在这里似乎不起作用。
我错过了一些重要的事情吗?
问题是你的列
id
在一个df中是object
(显然是string
),而在另一个df中是int
,所以没有匹配和得到NaN
。如果有相同的^{} :
如果只需要添加一个新列,另一个解决方案是^{} :
模拟你的问题:
溶液通过^{} (或
df2
中的id
列str
)转化为int
:相关问题 更多 >
编程相关推荐