当前位置: 首页 > news >正文

【Pandas】pandas DataFrame duplicated

Pandas2.2 DataFrame

Reindexing selection label manipulation

方法描述
DataFrame.add_prefix(prefix[, axis])用于在 DataFrame 的行标签或列标签前添加指定前缀的方法
DataFrame.add_suffix(suffix[, axis])用于在 DataFrame 的行标签或列标签后添加指定后缀的方法
DataFrame.align(other[, join, axis, level, …])用于对齐两个 DataFrameSeries 的方法
DataFrame.at_time(time[, asof, axis])用于筛选 特定时间点 的行的方法
DataFrame.between_time(start_time, end_time)用于筛选 指定时间范围内的数据行 的方法
DataFrame.drop([labels, axis, index, …])用于从 DataFrame 中删除指定行或列的方法
DataFrame.drop_duplicates([subset, keep, …])用于删除重复行的方法
DataFrame.duplicated([subset, keep])用于检测 重复行 的方法

pandas.DataFrame.duplicated()

pandas.DataFrame.duplicated([subset, keep]) 是一个用于检测 重复行 的方法,它返回一个布尔型的 Series,标记每一行是否为重复行(True 表示是重复项)。


📌 方法签名
DataFrame.duplicated(subset=None, keep='first')

🔧 参数说明:
参数类型说明
subset标签或标签列表,可选指定用于判断重复的列,默认为所有列
keep{'first', 'last', False}控制如何标记重复项:
- 'first': 第一次出现的不标记为重复(默认)
- 'last': 最后一次出现的不标记为重复
- False: 所有重复项都标记为 True

✅ 返回值:
  • 返回一个 pandas.Series,类型为布尔值,True 表示该行为重复行。

🧪 示例代码:
示例 1:基于所有列检测重复行
import pandas as pd# 创建含重复行的 DataFrame
df = pd.DataFrame({'A': [1, 2, 2, 3, 2],'B': ['a', 'b', 'b', 'c', 'b']
})print("Original DataFrame:")
print(df)# 检测重复行(默认 keep='first')
duplicates = df.duplicated()print("\nResult of df.duplicated():")
print(duplicates)
输出结果:
Original DataFrame:A  B
0  1  a
1  2  b
2  2  b
3  3  c
4  2  bResult of df.duplicated():
0    False
1    False
2     True
3    False
4     True
dtype: bool

示例 2:基于特定列检测重复行(subset)
# 只根据列 'A' 判断重复
duplicates_by_A = df.duplicated(subset=['A'])print("\nResult of df.duplicated(subset=['A']):")
print(duplicates_by_A)
输出结果:
Result of df.duplicated(subset=['A']):
0    False
1    False
2     True
3    False
4     True
dtype: bool

示例 3:保留最后出现的非重复项(keep=‘last’)
# 最后一次出现的不标记为重复
duplicates_last = df.duplicated(keep='last')print("\nResult of df.duplicated(keep='last'):")
print(duplicates_last)
输出结果:
Result of df.duplicated(keep='last'):
0     True
1     True
2     True
3    False
4    False
dtype: bool

示例 4:标记所有重复项(keep=False)
# 所有重复项都标记为 True
all_duplicates = df.duplicated(keep=False)print("\nResult of df.duplicated(keep=False):")
print(all_duplicates)
输出结果:
Result of df.duplicated(keep=False):
0    False
1     True
2     True
3    False
4     True
dtype: bool

🧠 应用场景:
  • 数据清洗时识别重复记录;
  • 配合 drop_duplicates() 使用,先查看哪些行是重复的;
  • 分析数据集中某些字段组合是否唯一;
  • 在数据分析前确保数据质量。

⚠️ 注意事项:
  • 不会修改原始 DataFrame,而是返回布尔 Series
  • subset 可以是单个列名或多个列组成的列表;
  • keep='first' 是默认行为,适合大多数去重需求;
  • 可用于筛选出重复的数据行进行进一步分析或处理。

相关文章:

  • Opencv实用操作5 图像腐蚀膨胀
  • WPF log4net用法
  • Facebook 的隐私保护措施是否足够?技术观点
  • 1614. 括号的最大嵌套深度【 力扣(LeetCode) 】
  • LVS+KeepAlived
  • ansible template 文件中如果包含{{}} 等非ansible 变量处理
  • 【python深度学习】Day 39 图像数据与显存
  • 关于 JavaScript 版本、TypeScript、Vue 的区别说明, PHP 开发者入门 Vue 的具体方案
  • 2.spring基础入门(二)
  • 充电便捷,新能源汽车移动充电服务如何预约充电
  • 数字孪生数据监控如何提升汽车零部件工厂产品质量
  • 汽车制造场景下Profibus转Profinet网关核心功能与应用解析
  • 新能源汽车电控系统的精准守护者PKDV5355高压差分探头
  • 【JS进阶】JavaScript 中 this 值的确定规则
  • 单片机——keil5
  • CUDA 归约求和(Reduction)算法
  • Java AQS(Abstract Queued Synchronized)深度解析
  • 使用 Arthas 查看接口方法执行时间
  • MVCC(多版本并发控制)机制
  • C++双线程交替打印奇偶数(活泼版)
  • 怎样弄网站的导航栏/关键词筛选工具
  • 江门制作网站公司/杭州网站优化服务
  • 网站的配置标题/线上营销怎么做
  • 网站建设专家cms/网站收录提交入口大全
  • wordpress微信域名回调/百度关键词搜索引擎排名优化
  • asp网站跳转浏览器/女教师遭网课入侵视频大全集