Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Textzeichenfolgen mithilfe von Pandas basierend auf bestimmten Trennzeichen in mehrere Zeilen aufteilen?

Wie kann ich Textzeichenfolgen mithilfe von Pandas basierend auf bestimmten Trennzeichen in mehrere Zeilen aufteilen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 08:40:03437Durchsuche

How can I split text strings into multiple rows based on specific delimiters using Pandas?

Pandas-Methode zum Aufteilen von Text in mehrere Zeilen

Problem:
Eine große CSV-Datei enthält eine Spalte mit Textzeichenfolgen, die anhand bestimmter Trennzeichen in mehrere Zeilen aufgeteilt werden müssen. Das Ziel besteht darin, für jeden Satz geteilten Textes separate Zeilen zu erstellen.

Lösung mit Pandas:

  1. Teilen Sie den Text mit dem ersten Trennzeichen (Leerzeichen) auf str.split(' ').
  2. Wenden Sie die Funktion apply() an, um jede Zeichenfolge in der Liste durch das zweite Trennzeichen (Doppelpunkt) zu teilen und zu konvertieren in eine Reihe umwandeln.
  3. Verwenden Sie stack(), um den resultierenden DataFrame in eine einzelne Spalte umzuwandeln und den Index zurückzusetzen.
  4. Benennen Sie die Spalte in „Seatblocks“ um.
  5. Löschen Sie die Originalspalte „Seatblocks“ aus dem DataFrame.
  6. Verbinden Sie die neue Spalte „Seatblocks“ mit dem Original DataFrame.

Aufgeteilt durch Leerzeichen und Doppelpunkt:

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)
s.name = 'Seatblocks'
del df['Seatblocks']
df.join(s)

Beispielausgabe:

   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

Aufgeteilt nach Doppelpunkt:

df.join(s.apply(lambda x: Series(x.split(':'))))

Beispielausgabe:

   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

Das obige ist der detaillierte Inhalt vonWie kann ich Textzeichenfolgen mithilfe von Pandas basierend auf bestimmten Trennzeichen in mehrere Zeilen aufteilen?. 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