python - Pandas Join 未提供确切的结果

标签 python pandas dataframe join merge

我有两个数据帧df1df2。我想将 df1 中的所有列与 df2 中的 2 列连接起来。

print(df1.shape[0])
# 344
print(df2.shape[0])
# 3577

df3 = pd.merge(df1, df2[['latitude', 'longitude', 'code']],
      how ='left', left_on=['LOCATION'], right_on=['code'])

print(df3.shape[0])
# 1740

在我的输出数据框中,我只需要 df1 中的 344 条记录以及 df2 中的列。

我的代码有什么问题?

最佳答案

第二个数据帧(df2)具有重复的值,这导致了问题。我删除了重复的值并加入了 df1 和 df2。现在可以了。

关于python - Pandas Join 未提供确切的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897981/

相关文章:

python - 具有 3d 输入的 Pytorch 交叉熵损失

python - time .sleep() 在命令中以错误的顺序发生;总是在函数的开头

python - 将部分数据框转换为 Pandas 中的 MultiIndex

python - 如何实现自动化标签

python - 仅删除组内的重复项

python - 如何在 Pandas Python 中更新数据框

python - 我应该使用 pip3 还是 pip?我应该删除旧软件包并在虚拟环境中重新安装它们吗?

python - 在 Python 中调用基类方法

python - 如何循环数据框中的列表?

apache-spark - 如何在范围内划分数字列并为 apache spark 中的每个范围分配标签?