You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中仅将主DataFrame不存在的批次数据追加至其中?

Pandas实现指定批次数据合并的方法

需求说明

从Df2中仅提取Batch为'D'的行(该批次未在Df1中出现),并将其合并到Df1中,保留原数据的索引结构。

实现代码

import pandas as pd

# 构造示例DataFrame
df1 = pd.DataFrame({
    'Batch': ['A', 'A', 'B', 'B', 'C', 'C'],
    'Result': [3, 5, 5, 6, 8, 3]
})

df2 = pd.DataFrame({
    'Batch': ['C', 'C', 'D', 'D'],
    'Result': [8, 3, 6, 1]
})

# 筛选df2中Batch为'D'的行
df2_filtered = df2[df2['Batch'] == 'D']

# 合并到df1,保留原索引
df_combined = pd.concat([df1, df2_filtered], ignore_index=False)

# 输出结果
print(df_combined)

代码解释

  • 筛选目标数据:使用布尔索引df2[df2['Batch'] == 'D']精准提取D批次的所有行,自动排除不需要的C批次数据。
  • 合并数据:pd.concat()用于按行拼接两个DataFrame,ignore_index=False参数会保留原DataFrame的索引(与你提供的示例输出索引一致);如果需要生成连续的新索引,可将该参数改为ignore_index=True。

输出结果

Batch  Result
0     A       3
1     A       5
2     B       5
3     B       6
4     C       8
5     C       3
2     D       6
3     D       1

内容的提问来源于stack exchange,提问作者Hertyuw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:25:27