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

Python Pandas合并行:处理Yes/No与二进制值的列合并需求

Pandas实现自定义规则的行聚合

原始数据构造

import pandas as pd

df = pd.DataFrame({
    'Column1': ['Eswar', 'Eswar'],
    'Column2': ['IT', 'Admin'],
    'Column3': ['Yes', 'No']
})

核心实现

通过groupby配合自定义聚合函数就能实现需求:

def custom_agg(ser):
    # 处理Yes/No规则:组内有No就返回No
    if 'No' in ser.values:
        return 'No'
    # 处理二进制1/0规则:组内有0就返回0
    elif 0 in ser.values:
        return 0
    # 其他场景默认返回组内第一个值(可按需调整)
    else:
        return ser.iloc[0]

# 分组并执行聚合操作
result = df.groupby('Column1', as_index=False).agg(
    Column2=('Column2', ','.join),
    Column3=('Column3', custom_agg)
)

print(result)

运行后输出结果:

Column1    Column2 Column3
0   Eswar  IT,Admin      No

规则适配说明

  • Column2:直接用逗号拼接同组内的所有字符串值
  • Column3:通过自定义函数匹配规则:
    • 若组内包含No,结果取No
    • 若组内包含二进制0,结果取0
    • 其他情况取组内第一个值(可根据实际需求调整逻辑)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:40:21