Heim  >  Artikel  >  Backend-Entwicklung  >  Wie teile ich Text in einer Pandas-Spalte in mehrere Zeilen auf?

Wie teile ich Text in einer Pandas-Spalte in mehrere Zeilen auf?

DDD
DDDOriginal
2024-11-11 01:02:03719Durchsuche

How to Split Text in a Pandas Column into Multiple Rows?

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!

Stellungnahme:
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