• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

51 - 内容 - df.drop_duplicate() - 去重

作者:

贺及楼

成为作者

更新日期:2024-11-21 15:55:06

drop_duplicate()去重

drop_duplicates 去重简介

Pandas 的 drop_duplicates() 函数用于删除 DataFrame 中的重复行。默认情况下,这个函数会检查所有列,找出重复的行,并只保留第一次出现的行。这对于清洗数据和去除重复记录非常有用。

以下是 drop_duplicates() 函数的一些关键特点:

删除重复行:
默认情况下,删除所有重复的行,只保留第一次出现的行。

指定列:
可以指定特定的列来识别重复项。

就地删除:
通过设置 inplace=True,可以就地修改 DataFrame,不返回新的 DataFrame。

保持重复项:
通过设置 keep=False,可以保留所有重复项。

排序:
删除重复项后,行的顺序可能会改变。可以通过 sort_values() 进行排序。

处理空值:
drop_duplicates() 会将空值视为正常值来处理。

返回唯一指标:
可以返回一个 Series,标记每行是否是第一次出现。

  1. import numpy as np
  2. import pandas as pd
  3. data.drop_duplicates(subset=['A', 'B'], keep='first', inplace=True) # 改原表
  4. data_du = data.drop_duplicates(subset=['A', 'B'], keep='first') # 生成副本
  1. subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。
  2. 默认值为subset=None表示考虑所有列。
  3. keep='first'表示保留第一次出现的重复行,是默认值。
  4. keep='last'表示保留最后一次出现的重复行
  5. keep=False 去除所有重复行
  6. inplace=True表示直接在原来的DataFrame上删除重复项
  7. 默认值False表示生成一个副本。

drop_duplicates去重例子

  1. df = pd.DataFrame(data=[{"A":"one", "B":1, "C":11}, {"A":"two", "B":2, "C":22}, {"A":"one", "B":1, "C":12}])
A B C
0 one 1 11
1 two 2 22
2 one 1 12
  1. data_du = df.drop_duplicates(subset=['A', 'B'], keep='first')
A B C
0 one 1 11
1 two 2 22

去重drop_duplicates

差集

  1. three = pd.concat([d1, d2, d3], axis=0, ignore_index=True)
  2. other = three.drop_duplicates(subset=None, keep=False) # 去重