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

如何在Python DataFrame中通过条件判断新增列记录更新字段

解决DataFrame新增更新字段列的问题

可以用pandas的apply方法逐行处理数据,实现你的需求,代码示例如下:

import pandas as pd

# 构造示例DataFrame
data = {
    'id': [1, 2, 3],
    'updated hobby': ['Cricket', 'Cricket', 'Basketball'],
    'old hoby': ['Soccer', 'Cricket', 'Soccer'],
    'updated skill': [4, 3, 3],
    'old skill': [3, 3, 3]
}
df = pd.DataFrame(data)

# 定义处理每行的函数
def get_updated_columns(row):
    updated = []
    # 判断hobby是否更新
    if row['updated hobby'] != row['old hoby']:
        updated.append('Hobby')
    # 判断skill是否更新
    if row['updated skill'] != row['old skill']:
        updated.append('Skill')
    # 返回结果,无更新则返回指定文本
    return ', '.join(updated) if updated else 'No update'

# 新增"columns updated"列
df['columns updated'] = df.apply(get_updated_columns, axis=1)

# 查看结果
print(df)

运行后得到的结果:

id updated hobby old hoby  updated skill  old skill columns updated
0   1        Cricket   Soccer              4          3    Hobby, Skill
1   2        Cricket  Cricket              3          3      No update
2   3     Basketball   Soccer              3          3           Hobby

代码说明

  • apply(get_updated_columns, axis=1)表示对DataFrame的每一行(axis=1)应用自定义函数
  • 函数内部通过条件判断收集更新的字段,最后用join拼接成字符串,无更新时返回No update

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:45:00