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

Pandas分组统计唯一(from,to)组合权重并去重实现方案

Pandas实现按分组统计组合权重并去重的解决方案

核心代码

import pandas as pd

# 构造示例数据,实际使用时替换为你自己的DataFrame即可
df = pd.DataFrame({
    'Group': [1,1,1,1,2,2,2,2],
    'from': [2,1,3,3,1,3,1,3],
    'to': [1,2,2,1,4,1,2,1]
})

# 新增weight列:按Group、from、to分组统计每个组合的出现次数
df['weight'] = df.groupby(['Group', 'from', 'to'])['Group'].transform('count')
# 去重:每个Group内相同(from,to)组合仅保留第一条记录
df = df.drop_duplicates(subset=['Group', 'from', 'to'], keep='first').reset_index(drop=True)

# 输出结果验证
print(df)

代码逻辑说明

  • 统计权重时用transform方法可以在不改变原DataFrame行数的前提下,将每个组合的统计次数映射到对应所有行,直接生成weight字段
  • 去重时指定subset=['Group', 'from', 'to']保证只判断同一分组内的(from,to)组合是否重复,keep='first'保留首次出现的记录,最后重置索引保证结果索引连续
    运行代码后输出的结果和预期完全一致,Group2中重复的from=3、to=1记录会被删除,对应保留的第一条记录weight为2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:51:02