Text in einer Spalte mit Pandas in mehrere Zeilen aufteilen
Beim Umgang mit großen CSV-Dateien ist es notwendig, Daten effizient zu bearbeiten. Eine häufige Aufgabe besteht darin, Text in einer Spalte in mehrere Zeilen aufzuteilen. Dies kann mit Pandas erreicht werden, einer leistungsstarken Datenbearbeitungsbibliothek in Python.
Angenommen, wir haben eine CSV-Datei mit einer Spalte namens „Seatblocks“, die durch Leerzeichen und Doppelpunkte getrennte Textwerte enthält. Unser Ziel ist es, jeden Wert in dieser Spalte in einzelne Zeilen aufzuteilen und so neue Spalten für jeden durch Doppelpunkte getrennten Teil zu erstellen.
CustNum CustomerName ItemQty Item Seatblocks ItemExt 32363 McCartney, Paul 3 F04 2:218:10:4,6 60 31316 Lennon, John 25 F01 1:13:36:1,12 1:13:37:1,13 300
Um die Spalte „Sitzblöcke“ durch Leerzeichen aufzuteilen und jedem Teil eine separate Zeile zu geben, Wir verwenden den folgenden Code:
s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack() s.index = s.index.droplevel(-1) s.name = 'Seatblocks' del df['Seatblocks'] df = df.join(s)
Dieser Code erzeugt die folgende Ausgabe:
CustNum CustomerName ItemQty Item ItemExt Seatblocks 0 32363 McCartney, Paul 3 F04 60 2:218:10:4,6 1 31316 Lennon, John 25 F01 300 1:13:36:1,12 1 31316 Lennon, John 25 F01 300 1:13:37:1,13
Um jede durch Doppelpunkte getrennte Zeichenfolge in eine eigene Spalte aufzuteilen, können wir den folgenden Code verwenden:
df.join(s.apply(lambda x: Series(x.split(':'))))
Dies führt zu Folgendem:
CustNum CustomerName ItemQty Item ItemExt 0 1 2 3 0 32363 McCartney, Paul 3 F04 60 2 218 10 4,6 1 31316 Lennon, John 25 F01 300 1 13 36 1,12 1 31316 Lennon, John 25 F01 300 1 13 37 1,13
Diese Methoden bieten effektive Möglichkeiten, Text in einer Spalte in mehrere Zeilen aufzuteilen, was eine weitere Datenbearbeitung und -analyse ermöglicht.
Das obige ist der detaillierte Inhalt vonWie teile ich Text in einer Pandas-Spalte in mehrere Zeilen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!