我有2个DataFrame。
第一个包含我想要保留的ID以及详细信息。其中一个细节是事件的地址。 (159880行)
第二个DataFrame有lat&第一个DataFrame中的地址lon(加上更多)。 (121769)
这应该是多对一关系,因为同一地址有多个事件。作为输出,我想要的是带有lat& amp;的第一个DataFrame。 lon列添加了。我可以使用apply
和latlon DataFrame中的简单搜索来完成此操作。然而,这非常缓慢 - 几十分钟慢。因此,我决定尝试pandas.merge。
在我看来,这应该有效:
combo = pd.merge(df1, df2, how='left', left_on=['col1', 'col2'],
right_on=['col1_2', 'col2_2'], indicator='indicator_column')
此合并会生成一个包含726789行的DataFrame。指示器列显示了1或其他DataFrame中的大量行。它们都应该来自两者或者只是左派。 (地址有一些拼写错误,所以我希望有些地址不匹配。)
我尝试过内部,外部和左侧合并的几种变体。无结果导致行数少于500k的DataFrame。
谷歌搜索时间没有帮助。可能是因为我没有以正确的方式提问。我一直在阅读关于加入,康卡特和合并的Pandas文档部分。