Vérifier les valeurs en double dans dataframe colonne
Est-il un moyen de vérifier si un dataframe colonne des valeurs dupliquées sans abandon de lignes? J'ai une fonction qui permet de supprimer les doublons de lignes, cependant, je ne le veux si il ya effectivement des doublons dans une colonne spécifique.
Actuellement je compare le nombre de valeurs uniques dans la colonne du nombre de lignes: si il y a moins de valeurs uniques que les lignes puis il y a des doublons et le code s'exécute.
if len(df['Student'].unique()) < len(df.index):
# Code to remove duplicates based on Date column runs
Est-il plus facile ou plus efficace moyen de vérifier si des valeurs dans une colonne spécifique, en utilisant les pandas?
Une partie de l'échantillon de données, je travaille avec (seulement deux colonnes illustré). Si des doublons sont trouvés, puis une autre fonction qui identifie la ligne pour garder la ligne avec la plus ancienne date):
Student Date
0 Joe December 2017
1 James January 2018
2 Bob April 2018
3 Joe December 2017
4 Jack February 2018
5 Jack March 2018
- trier vos df par date puis
df.drop_duplicates('student')
- Oui, mais peut-être convertir datetime et trier après. Vérification rapide serait:
any(df['Student'].duplicated())
Vous devez vous connecter pour publier un commentaire.
Question principale
En supposant que ci-dessus dataframe (df), on peut faire une vérification rapide si dupliqué dans le
Student
col par:Plus de lectures et de références
Au-dessus de nous à l'aide de l'une des Pandas méthodes de la Série. Les pandas DataFrame a plusieurs utile méthodes, dont deux sont:
Ces méthodes peuvent être appliquées sur le DataFrame dans son ensemble, et pas seulement une Série (colonne) comme ci-dessus. L'équivalent serait:
Cependant, si nous nous intéressons dans le cadre entier, nous pourrions aller de l'avant et de le faire:
Et un dernier conseil utile. À l'aide de la
keep
paramater nous pouvons normalement sauter quelques lignes accéder directement à ce dont nous avons besoin:Exemple de jouer avec
Retourne
df['Date']
. Il est sensible à la casse. Êtes-vous sûr de vos colonnes est appelée Date? Pourrait essayerdf['Date']
trop