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

按ID分组检查DataFrame同组name是否一致并添加布尔列

解决方案

假设你的数据已加载到 pandas DataFrame 中,可通过以下步骤实现需求:

  1. 按 ID 分组,检查每组内 name 列的唯一值数量是否为 1
  2. 使用 transform 方法将分组结果映射回原 DataFrame 的每一行,生成新列 names.equal

代码实现

import pandas as pd

# 构造示例数据
data = {
    'title.1': ['A', 'A', '', 'B', 'C', 'C', 'C', '', ''],
    'title.2': ['A1', 'A1', 'B1', '', 'C1', 'C1', 'C1', 'D1', 'D1'],
    'name': ['fruit', 'fruit', 'fruit', 'fruit, vegetable', 'vegetable, poultry, grain', 'vegetable, poultry', 'vegetable, poultry', 'poultry', 'vegetable'],
    'ID': [1, 1, 2, 3, 4, 4, 4, 5, 5]
}
df = pd.DataFrame(data)

# 新增 names.equal 列
df['names.equal'] = df.groupby('ID')['name'].transform(lambda x: x.nunique() == 1)

print(df)

输出结果

title.1title.2nameIDnames.equal
AA1fruit1True
AA1fruit1True
B1fruit2True
Bfruit, vegetable3True
CC1vegetable, poultry, grain4False
CC1vegetable, poultry4False
CC1vegetable, poultry4False
D1poultry5False
D1vegetable5False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 22:25:26