Heim > Backend-Entwicklung > Python-Tutorial > Wie fügen Sie Datenspalten in Python effizient kontinuierliche Sequenznummern hinzu, damit der gleiche Wert dieselbe Sequenznummer hat?

Wie fügen Sie Datenspalten in Python effizient kontinuierliche Sequenznummern hinzu, damit der gleiche Wert dieselbe Sequenznummer hat?

Johnathan Smith
Freigeben: 2025-03-03 17:09:06
Original
385 Leute haben es durchsucht

Wie können Sie eine Datenspalte in Python effizient auf konsekutive Zahlen hinzufügen und identischen Werten dieselbe Zahl zuweisen? Der effizienteste Weg, dies in Python zu erreichen, nutzt die Leistung der

Bibliothek. Pandas bietet vektorisierte Operationen, die erheblich schneller sind als die Iterie durch Zeilen. Der Vergleich dieser verzögerten Version mit der ursprünglichen Spalte (

) 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

einen sequentiellen Zähler in jeder Gruppe. Wir fügen 1 hinzu, um die Anzahl von 1 anstelle von 0 zu starten. Schließlich verkettet wir den ursprünglichen Wert von 'Col1' mit der sequentiellen ID, um eine informativere eindeutige Kennung in 'Final_id' zu erstellen. Diese Methode behandelt große Datensätze aufgrund von vektorisierten Operationen von Pandas effizient. Die vorherigen Beispiele zeigen diese Fähigkeit. Die

-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)
Nach dem Login kopieren
  • Vermeiden Sie unnötige Datenkopien: Beachten Sie Operationen, die unnötige Kopien des Datenrahmens erstellen. Pandas 'In-Place-Operationen (mit 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage