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
Freigeben: 2024-11-10 08:40:03
Original
379 Leute haben es durchsucht

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)
Nach dem Login kopieren

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
Nach dem Login kopieren

Aufgeteilt nach Doppelpunkt:

df.join(s.apply(lambda x: Series(x.split(':'))))
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
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