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

如何按Entidad分组修改DataFrame中重复的Cuenta列值?

解决方案

要实现按Entidad分组后,Cuenta列仅保留每个值的首次出现、后续重复项置为空的效果,可通过pandas的分组转换操作完成:

代码实现

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    "Entidad": ["A","A","A","A","A","A","A","B","B","B","B","B"],
    "Cuenta": ["Surco","Lima","Miraflores","Lima","SMP","Surco","Lima","Surco","Lima","Miraflores","Lima","SMP"],
    "Valor": [12,14,11,7,5,4,22,11,34,21,17,25],
})

# 分组处理Cuenta列:仅保留每个分组内首次出现的Cuenta值,重复项置空
df['Cuenta'] = df.groupby('Entidad')['Cuenta'].transform(
    lambda x: x.where(~x.duplicated(keep='first'), '')
)

print(df)

输出结果

Entidad      Cuenta  Valor
0        A       Surco     12
1        A        Lima     14
2        A  Miraflores     11
3        A                7
4        A         SMP      5
5        A                4
6        A               22
7        B       Surco     11
8        B        Lima     34
9        B  Miraflores     21
10       B               17
11       B         SMP     25

逻辑说明

  • groupby('Entidad'):按Entidad字段分组,确保每个分组内独立处理重复值
  • transform():保证处理后返回的序列与原DataFrame长度一致,不破坏原有行结构
  • x.duplicated(keep='first'):标记分组内除首次出现外的所有重复项为True,取反~后,where()方法会保留首次出现的原值,重复项替换为空字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:25:26