


Wie teile ich eine Zelle in einem Pandas-Datenrahmen basierend auf durch Kommas getrennten Werten in mehrere Zeilen auf?
Oct 28, 2024 am 06:41 AMZelle im Pandas-Datenrahmen in mehrere Zeilen aufteilen
Problem:
Sie haben einen Pandas Datenrahmen mit Bestelldaten, wobei jede Bestellung mehrere Pakete enthält, die als durch Kommas getrennte Zeichenfolgen in den Spalten „Paket“ und „Paketcode“ gespeichert sind. Ihr Ziel ist es, die Paketdaten aufzuteilen und für jedes Paket eine neue Zeile mit den entsprechenden Bestelldetails zu erstellen.
Lösung:
Für Pandas-Versionen >= 0,25:
<code class="python">df.set_index(['order_id', 'order_date']) \ .apply(lambda x: x.str.split(',').explode()) \ .reset_index()</code>
Für Pandas-Versionen <= 0,24:
<code class="python">df.set_index(['order_date', 'order_id']) \ .stack() \ .str.split(',', expand=True) \ .stack() \ .unstack(-2) \ .reset_index(-1, drop=True) \ .reset_index()
Erklärung:
1. Index festlegen: Legen Sie die Spalten, die intakt bleiben sollen („order_id“ und „order_date“), als Index des Datenrahmens fest.
2. Teilen und stapeln:
- Für Pandas >= 0,25: Verwenden Sie apply(lambda x: x.str.split(',').explode()), um das Komma getrennt zu teilen 'package' und 'package_code' Spalten und erweitern Sie sie in mehrere Zeilen.
- Für Pandas <= 0.24: Verwenden Sie erneut stack(), str.split() und stack(), um die Daten aufzuteilen und zu stapeln .
- Auf der vorletzten Ebene (-2) entstapeln, um neue Spalten für die geteilten Paket- und Paketcodedaten zu erstellen.
- Index zurücksetzen auf Machen Sie die Indexänderung rückgängig und erhalten Sie den endgültigen Datenrahmen.
3. Index entstapeln und zurücksetzen:
Das obige ist der detaillierte Inhalt vonWie teile ich eine Zelle in einem Pandas-Datenrahmen basierend auf durch Kommas getrennten Werten in mehrere Zeilen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

Wie man mit PDF -Dokumenten mit Python arbeitet

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

So implementieren Sie Ihre eigene Datenstruktur in Python

Serialisierung und Deserialisierung von Python -Objekten: Teil 1
