>백엔드 개발 >파이썬 튜토리얼 >Pandas의 효율적인 데이터 중복 제거 방법 공개: 중복 데이터를 빠르게 제거하는 팁

Pandas의 효율적인 데이터 중복 제거 방법 공개: 중복 데이터를 빠르게 제거하는 팁

王林
王林원래의
2024-01-24 08:12:061501검색

Pandas의 효율적인 데이터 중복 제거 방법 공개: 중복 데이터를 빠르게 제거하는 팁

Pandas 중복 제거 방법 공개: 빠르고 효율적인 데이터 중복 제거 방법에는 특정 코드 예제가 필요합니다.

데이터 분석 및 처리 과정에서 데이터 중복이 자주 발생합니다. 중복된 데이터는 분석 결과를 오도할 수 있으므로 중복 제거는 매우 중요한 단계입니다. 강력한 데이터 처리 라이브러리인 Pandas는 데이터 중복 제거를 달성하기 위한 다양한 방법을 제공합니다. 이 기사에서는 일반적으로 사용되는 중복 제거 방법을 소개하고 특정 코드 예제를 첨부합니다.

  1. 단일 열 중복 제거 기준

가장 일반적인 상황은 특정 열의 값이 반복되는지 여부를 기준으로 중복 제거하는 것입니다. Pandas에서는 .duplicated() 메서드를 사용하여 특정 열의 값이 중복되는지 확인한 후 .drop_duplicates() 메서드를 사용하면 됩니다. 중복된 값을 제거합니다. .duplicated()方法来判断某一列的值是否重复,然后使用.drop_duplicates()方法来去除重复值。

例如,我们有一个包含了学生信息的DataFrame,其中有一个列是学生的学号,我们希望根据学号去除重复的行:

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(subset='学号', inplace=True)
print(df)

运行结果:

    学号  姓名  年龄
0  1001  张三  18
1  1002  李四  19
2  1003  王五  20
4  1004  赵六  21

这样就去除了学号重复的行,只保留了第一次出现的行。

  1. 基于多列去重

有时候我们需要根据多个列的值是否重复来进行去重。在.drop_duplicates()方法中可以通过subset参数指定要根据哪些列进行去重。

例如,我们还是使用上面的学生信息的DataFrame,现在根据学号和姓名去除重复的行:

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(subset=['学号', '姓名'], inplace=True)
print(df)

运行结果:

    学号  姓名  年龄
0  1001  张三  18
1  1002  李四  19
2  1003  王五  20
4  1004  赵六  21

这样就根据学号和姓名同时去除了重复的行。

  1. 基于所有列去重

有时候我们希望根据整个DataFrame的所有列的值是否重复来进行去重。可以使用.duplicated()方法的keep参数设置为False,则会标记所有重复的行。然后使用.drop_duplicates()

예를 들어 학생 정보가 포함된 DataFrame이 있고 열 중 하나가 학생 번호입니다. 학생 번호를 기준으로 중복 행을 제거하려고 합니다.

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(keep=False, inplace=True)
print(df)

실행 결과:

    学号  姓名  年龄
0  1001  张三  18
4  1004  赵六  21

이렇게 하면 중복된 학생 번호가 제거됩니다. 행의 경우 해당 행의 첫 번째 항목만 유지됩니다.

    여러 열 기반 중복 제거

    때로는 여러 열의 값이 반복되는지 여부를 기반으로 중복 제거를 수행해야 하는 경우가 있습니다. .drop_duplicates() 메서드에서 subset 매개변수를 사용하여 중복 제거에 사용할 열을 지정할 수 있습니다.

    예를 들어 위의 학생 정보 DataFrame을 계속 사용하고 이제 학생 ID와 이름을 기준으로 중복 행을 제거합니다.

    rrreee🎜실행 결과: 🎜rrreee🎜이런 방식으로 학생 ID와 이름을 기준으로 중복 행이 제거됩니다. 동시에. 🎜
      🎜모든 열 기반 중복 제거🎜🎜🎜때때로 전체 DataFrame의 모든 열 값이 반복되는지 여부를 기반으로 중복 제거를 수행하고 싶을 때가 있습니다. .duplicated() 메서드를 사용하여 keep 매개변수를 False로 설정하면 모든 중복 행이 표시됩니다. 그런 다음 .drop_duplicates() 메서드를 사용하여 이러한 중복 행을 제거합니다. 🎜🎜예를 들어 위의 학생 정보 DataFrame을 계속 사용하고 이제 전체 DataFrame의 모든 열을 기반으로 중복 행을 제거합니다. 🎜rrreee🎜실행 결과: 🎜rrreee🎜이렇게 하면 전체 DataFrame의 모든 중복 행이 제거됩니다. . 🎜🎜요약: 🎜🎜이 기사에서는 Pandas에서 일반적으로 사용되는 세 가지 중복 제거 방법, 즉 단일 열 기반 중복 제거, 여러 열 기반 중복 제거, 모든 열 기반 중복 제거를 소개합니다. 중복 데이터를 빠르고 효율적으로 제거하려면 실제 필요에 따라 적절한 방법을 선택하십시오. 실제 적용에서 이러한 방법은 특정 데이터에 따라 유연하게 사용될 수 있으며 데이터 처리 및 분석의 효율성을 향상시켜야 합니다. 🎜🎜위 내용은 이 기사의 전체 내용입니다. 독자들이 이 내용을 통해 데이터 중복 제거에 Pandas를 더 잘 적용할 수 있기를 바랍니다. 🎜

위 내용은 Pandas의 효율적인 데이터 중복 제거 방법 공개: 중복 데이터를 빠르게 제거하는 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.