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

如何在Python Pandas中向DataFrame添加COL1不存在的列表值并指定列值

在Pandas中根据列表添加不存在的行

示例数据

先构建题目中的DataFrame和目标列表:

import pandas as pd

df = pd.DataFrame({
    'COL1': ['var1', 'var2', 'var3'],
    'COL2': ['xxx', 'xxx', 'yyy'],
    'COL3': [20, 10, 10]
})

list_1 = ["var1", "var5"]

需求

  • 仅将list_1中不存在于COL1列的值作为新行添加到DataFrame
  • 新增行的COL2固定为"yyy",COL3固定为10

解决方案

# 筛选list_1中未出现在COL1的元素
missing_vars = [var for var in list_1 if var not in df['COL1'].values]

# 若有缺失元素,创建新行并合并
if missing_vars:
    new_rows = pd.DataFrame({
        'COL1': missing_vars,
        'COL2': 'yyy',
        'COL3': 10
    })
    df = pd.concat([df, new_rows], ignore_index=True)

步骤解释

  1. 筛选缺失元素:通过列表推导式遍历list_1,借助df['COL1'].values快速判断元素是否存在于目标列,得到需要添加的元素列表missing_vars。
  2. 合并新行:当missing_vars不为空时,构建包含指定列值的新DataFrame,再用pd.concat合并到原DataFrame中,ignore_index=True会重置合并后的索引,避免索引重复冲突。

运行结果

执行代码后得到的DataFrame:

COL1 COL2  COL3
0  var1  xxx    20
1  var2  xxx    10
2  var3  yyy    10
3  var5  yyy    10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:42:09