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

Pandas DataFrame如何实现类groupby的非聚合分组展示效果

实现方案

核心逻辑是识别每个id分组的首行,将同组其余行的id值替换为空字符串,该处理仅适合展示场景使用(处理后id列会转为字符串类型,不适合后续做关联、数值计算类操作)。

完整代码

import pandas as pd

# 构造原始示例DataFrame
d = {'id': ['101', '101', '101', '105', '105'], 
     'qty': [10, 15, 20, 50, 55],
    }
df31 = pd.DataFrame(data=d)

# 核心处理:非分组首行的id位置置空
df31['id'] = df31['id'].where(~df31['id'].duplicated(keep='first'), '')

处理后输出效果

id  qty
0  101   10
1        15
2        20
3  105   50
4        55

逻辑说明

  • df31['id'].duplicated(keep='first'):对id列做重复标记,同id的第一行标记为False(非重复项),后续所有同id的行全部标记为True(重复项)
  • where(判断条件, 替换值):满足判断条件的位置保留原始值,不满足的位置替换为指定的空字符串
  • 条件前加~是做取反操作,即保留分组首行的原始id值,其余重复行替换为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:21:35