Maison  >  Article  >  développement back-end  >  Révéler la méthode efficace de déduplication des données dans Pandas : conseils pour supprimer rapidement les données en double

Révéler la méthode efficace de déduplication des données dans Pandas : conseils pour supprimer rapidement les données en double

王林
王林original
2024-01-24 08:12:061465parcourir

Révéler la méthode efficace de déduplication des données dans Pandas : conseils pour supprimer rapidement les données en double

La méthode de déduplication Pandas révélée : une méthode de déduplication de données rapide et efficace nécessite des exemples de code spécifiques

Dans le processus d'analyse et de traitement des données, une duplication des données est souvent rencontrée. Les données en double peuvent induire en erreur les résultats de l'analyse, la déduplication est donc une étape très importante. Pandas, une puissante bibliothèque de traitement de données, fournit une variété de méthodes pour réaliser la déduplication des données. Cet article présentera certaines méthodes de déduplication couramment utilisées et joindra des exemples de code spécifiques.

  1. Basé sur la déduplication d'une seule colonne

La situation la plus courante consiste à dédupliquer selon que la valeur d'une certaine colonne est répétée ou non. Dans Pandas, vous pouvez utiliser la méthode .duplicates() pour déterminer si les valeurs d'une colonne sont dupliquées, puis utiliser la méthode .drop_duplicates() pour supprimer valeurs en double. .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()

Par exemple, nous avons un DataFrame qui contient des informations sur l'étudiant, et l'une des colonnes est le numéro d'étudiant. Nous souhaitons supprimer les lignes en double en fonction du numéro d'étudiant :

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)

Résultat d'exécution :

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

Cela élimine les numéros d'étudiant en double. de lignes, seule la première occurrence de la ligne est conservée.

    Déduplication basée sur plusieurs colonnes

    Parfois, nous devons dédupliquer selon que les valeurs​​de plusieurs colonnes sont répétées. Dans la méthode .drop_duplicates(), vous pouvez utiliser le paramètre subset pour spécifier quelles colonnes doivent être utilisées pour la déduplication.

    Par exemple, nous utilisons toujours le DataFrame ci-dessus pour les informations sur les étudiants et supprimons désormais les lignes en double en fonction de l'identifiant et du nom de l'étudiant :

    rrreee🎜Résultats d'exécution : 🎜rrreee🎜De cette façon, les lignes en double sont supprimées en fonction de l'identifiant et du nom de l'étudiant. en même temps. 🎜
      🎜Déduplication basée sur toutes les colonnes🎜🎜🎜Parfois, nous souhaitons dédupliquer selon que les valeurs de toutes les colonnes de l'ensemble du DataFrame sont répétées. Vous pouvez utiliser la méthode .duplicate() pour définir le paramètre keep sur False, et toutes les lignes en double seront marquées. Utilisez ensuite la méthode .drop_duplicates() pour supprimer ces lignes en double. 🎜🎜Par exemple, nous utilisons toujours le DataFrame ci-dessus pour les informations sur les étudiants, et supprimons désormais les lignes en double en fonction de toutes les colonnes de l'ensemble du DataFrame : 🎜rrreee🎜Exécuter les résultats : 🎜rrreee🎜De cette façon, toutes les lignes en double dans l'ensemble du DataFrame sont supprimées. . 🎜🎜Résumé : 🎜🎜Cet article présente trois méthodes de déduplication couramment utilisées dans Pandas : la déduplication basée sur une seule colonne, la déduplication basée sur plusieurs colonnes et la déduplication basée sur toutes les colonnes. Sélectionnez la méthode appropriée en fonction des besoins réels pour supprimer les données en double rapidement et efficacement. Dans les applications pratiques, ces méthodes peuvent être utilisées de manière flexible en fonction de données spécifiques et des besoins pour améliorer l'efficacité du traitement et de l'analyse des données. 🎜🎜Ce qui précède représente l'intégralité du contenu de cet article. J'espère que les lecteurs pourront en bénéficier et être en mesure de mieux appliquer Pandas pour la déduplication des données. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn