如何使用Pandas为DataFrame重复值设置提示信息——标记A列第二次出现的重复行
标记Pandas DataFrame中重复值的后续出现行
嘿,这个需求其实用Pandas自带的duplicated()方法就能轻松搞定,它专门用来标记重复项的后续出现,完全匹配你的要求!下面是具体的实现步骤和代码:
步骤说明
- 先构建你提供的示例DataFrame;
- 添加一个初始为空字符串的
message列; - 利用
duplicated()方法定位A列中第二次及以后出现的重复行,给这些行的message列赋值为"Duplicated"。
完整代码
import pandas as pd # 创建示例DataFrame data = { 'A': [1, 2, 1, 3, 2, 4], 'B': ['ABC', 'XYX', 'RTC', 'fds', 'rtv', 'rtoc'] } df = pd.DataFrame(data) # 初始化message列为空字符串 df['message'] = '' # 标记重复项的后续出现行 df.loc[df.duplicated('A'), 'message'] = 'Duplicated' # 查看结果 print(df)
输出结果
| A | B | message | |
|---|---|---|---|
| 0 | 1 | ABC | |
| 1 | 2 | XYX | |
| 2 | 1 | RTC | Duplicated |
| 3 | 3 | fds | |
| 4 | 2 | rtv | Duplicated |
| 5 | 4 | rtoc |
小提示
如果之后你需要标记所有重复行(包括第一次出现的),可以给duplicated()方法加上keep=False参数:
df.loc[df.duplicated('A', keep=False), 'message'] = 'Duplicated'
内容的提问来源于stack exchange,提问作者Madhuben Shah
相关产品推荐
相关产品推荐

