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

Pandas DataFrame分组列重复值合并及ReportLab PDF输出问题

处理DataFrame重复Token列以适配ReportLab PDF输出

针对你需要将重复的Token值仅在每组中间行保留、其余行留空的需求,可以通过分组+transform的方式实现:

1. 原DataFrame定义

import pandas as pd

df = pd.DataFrame({'Token' : ['a','a','a','b','b','b','c','c','c'],
                   'value1' : ['abc','def','ghi','jkl','mno','pqr','stu','vwx','xyz'],
                   'value2' :['aaa','bbb','ccc','ddd','eee','fff','ggg','hhh','iii']})

2. 格式化处理代码

# 复制原数据,避免修改原始DataFrame
df_formatted = df.copy()

# 分组后仅保留每组中间行的Token值,其余行设为空字符串
df_formatted['Token'] = df.groupby('Token')['Token'].transform(
    lambda x: x.where(x.index == x.index[1], '')
)

# 查看结果
print(df_formatted)

3. 输出结果

Token value1 value2
0        abc    aaa
1     a    def    bbb
2        ghi    ccc
3        jkl    ddd
4     b    mno    eee
5        pqr    fff
6        stu    ggg
7     c    vwx    hhh
8        xyz    iii

扩展说明

如果后续每组行数不固定,需要改为仅保留每组首次出现的Token值,可以替换为以下代码:

df_formatted['Token'] = df['Token'].where(df['Token'] != df['Token'].shift(1), '')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:41:23