) identifiziert, wo sich die Werte ändern. Die pandas
-Methode fasst dann kumulativ die booleschen Ergebnisse zusammen und erzeugt effektiv einen sequentiellen Zähler, der nur dann auferlegt wird, wenn ein neuer Wert auftritt. Dies weist jeder Gruppe identischer Werte in 'Col1' eine eindeutige aufeinanderfolgende Zahl zu, in der das Ergebnis in einer neuen Spalte mit dem Namen 'Col2' gespeichert wird. Anstatt einfach aufeinanderfolgende Zahlen zuzuweisen, können wir IDs erstellen, die die Gruppierung explizit widerspiegeln. Dies wird erreicht, indem die Gruppenkennung mit einem sequentiellen Zähler in jeder Gruppe kombiniert wird. Dann erzeugt
-Methode in Kombination mit
bietet eine leistungsstarke und effiziente Möglichkeit, eine sequentielle Nummerierung innerhalb von Gruppen hinzuzufügen, die durch identische Werte in einer Spalte definiert sind. Die Effizienz ergibt sich aus der Fähigkeit von Pandas, diese Operationen auf dem gesamten Datenrahmen gleichzeitig auszuführen, und vermeidet langsame Zeilen-für-Reis-Iteration. Die vorherigen Beispiele zeigen diese Optimierung bereits. Um die Leistung für extrem große Datensätze weiter zu verbessern:import pandas as pd # Sample data data = {'col1': ['A', 'A', 'B', 'B', 'B', 'C', 'A', 'A', 'D']} df = pd.DataFrame(data) # Efficiently assign sequential numbers df['col2'] = (df['col1'] != df['col1'].shift()).cumsum() print(df)
inplace=True
) können manchmal die Leistung verbessern. Oft sind die Leistungsgewinne im Vergleich zu den Lesbarkeitskosten häufig vernachlässigbar. Lesen und verarbeiten Sie die Daten in kleineren, überschaubaren Teilen und verkettet dann die Ergebnisse. Die Komplexität der Integration dieser Alternativen überwiegt jedoch häufig den Vorteil für die meisten praktischen Anwendungen. Die Konzentration auf effiziente PANDAS -Techniken ist der effektivste Ansatz für die Optimierung. Das obige ist der detaillierte Inhalt vonWie fügen Sie Datenspalten in Python effizient kontinuierliche Sequenznummern hinzu, damit der gleiche Wert dieselbe Sequenznummer hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!