Suppression efficace des lignes d'index en double chez les pandas
Chez les pandas, les valeurs d'index en double peuvent provenir de diverses sources. Pour éliminer efficacement ces redondances, il est crucial de comprendre les mécanismes sous-jacents et d'employer la solution la plus appropriée pour différents scénarios.
Une approche courante consiste à utiliser la méthode drop_duplicates. Cependant, cela peut entraîner une dégradation significative des performances, en particulier lorsque vous travaillez avec de grands ensembles de données. Alternativement, la méthode groupby offre une option plus efficace en regroupant les lignes en fonction de leurs valeurs d'index et en sélectionnant la première ou la dernière ligne non dupliquée.
La solution la plus efficace, cependant, consiste à utiliser la méthode dupliquée directement sur l'indice des pandas. En spécifiant l'argument keep comme « first », cette méthode renvoie une série booléenne indiquant des index en double. Les lignes avec des valeurs en double peuvent ensuite être filtrées à l'aide de l'indexation booléenne.
Par exemple, considérons le DataFrame suivant :
Sta Precip1hr Precip5min Temp DewPnt WindSpd WindDir AtmPress Date 2001-01-01 00:00:00 KPDX 0 0 4 3 0 0 30.31 2001-01-01 00:05:00 KPDX 0 0 4 3 0 0 30.30 2001-01-01 00:10:00 KPDX 0 0 4 3 4 80 30.30 2001-01-01 00:15:00 KPDX 0 0 3 2 5 90 30.30 2001-01-01 00:20:00 KPDX 0 0 3 2 10 110 30.28
Pour éliminer les valeurs d'index en double, nous pouvons utiliser le code suivant :
df = df[~df.index.duplicated(keep='first')]
Cette solution est efficace et concise, fournissant une méthode pratique pour supprimer les lignes d'index en double d'un DataFrame pandas.
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!