如何在不同DataFrame中查找索引并返回对应值?
基于索引匹配两个DataFrame并返回对应值
推荐方法:使用join合并
join默认按索引对齐,一步完成匹配与拼接:
import pandas as pd # 假设df1、df2已创建完成,且索引类型一致 result = df2.join(df1)
若只需提取DF1中指定列(比如示例里的A、B列),可明确指定列名:
result = df2.join(df1[['A', 'B']])
备选方法:筛选后拼接
先从DF1中筛选出与DF2索引重合的行,再和DF2按列合并:
# 筛选df1中索引存在于df2的行 df1_filtered = df1.loc[df1.index.isin(df2.index)] # 按列拼接两个DataFrame result = pd.concat([df2, df1_filtered], axis=1)
关键注意点
- 必须保证两个DataFrame的索引类型完全一致(比如均为日期格式),否则会出现匹配失败的情况。
- 若存在重复索引,需先处理重复项再合并,避免结果出现冗余数据。
内容的提问来源于stack exchange,提问作者user20250014
相关产品推荐
相关产品推荐

