如何在Python DataFrame中按相同列高效合并两个数据框?
如何高效合并两个Pandas DataFrame得到目标结果?
原始数据
df1:
A ANTS AGE 0 ABC 18 1 ABC 25 3 ABC 24 2 DEF 20
df2:
ANTS LOC ABC WIND DEF FIND
期望结果
合并后得到df3:
A ANTS AGE LOC 0 ABC 18 WIND 1 ABC 25 WIND 3 ABC 24 WIND 2 DEF 20 FIND
解决方案
直接用Pandas的merge()方法,以ANTS列为连接键做左连接即可,能保留df1的所有行,并匹配df2中对应ANTS的LOC值:
import pandas as pd # 假设df1和df2已创建 df3 = df1.merge(df2, on='ANTS', how='left')
说明
on='ANTS':指定两个DataFrame用于匹配的共同列名how='left':采用左连接逻辑,保留左表(df1)的所有记录,右表(df2)仅匹配对应行的内容。由于你的df1中所有ANTS值都能在df2找到,用内连接how='inner'结果也一致,但左连接更稳妥,可避免df1存在df2没有的ANTS值时丢失行。
运行上述代码后即可得到目标df3。
内容的提问来源于stack exchange,提问作者user3555115
相关产品推荐
相关产品推荐

