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.
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
这样就去除了学号重复的行,只保留了第一次出现的行。
有时候我们需要根据多个列的值是否重复来进行去重。在.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
这样就根据学号和姓名同时去除了重复的行。
有时候我们希望根据整个DataFrame的所有列的值是否重复来进行去重。可以使用.duplicated()
方法的keep
参数设置为False
,则会标记所有重复的行。然后使用.drop_duplicates()
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
Parfois, nous devons dédupliquer selon que les valeursde 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. 🎜.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!