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

Pandas:如何添加列标记name列数据是否存在重复

用groupby实现重复值标记列

你可以通过groupby结合transform方法来实现需求,transform能保证返回与原DataFrame长度一致的结果,完美匹配每一行的标记:

完整代码

import pandas as pd

d_test = {'name' : ['Beach', 'Dog', 'Bird', 'Dog', 'Ant', 'Beach']}
df_test = pd.DataFrame(d_test)

# 按name分组,计算每组长度并判断是否大于1,映射回原数据
df_test['duplicate'] = df_test.groupby('name')['name'].transform(lambda x: len(x) > 1)

执行后结果

name  duplicate
0  Beach       True
1    Dog       True
2   Bird      False
3    Dog       True
4    Ant      False
5  Beach       True

原理说明

  • groupby('name')将数据按name列的不同值分组
  • transform(lambda x: len(x) > 1)对每个分组执行:计算分组的行数(即该name出现的次数),如果次数大于1则返回True,否则返回False
  • 最终transform会把每个分组的结果对应到原DataFrame的每一行,自动匹配行与分组的对应关系

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:01:05