[FIXED] Finden Sie eine bestimmte Zeichenfolge, brechen Sie die Zeile und erstellen Sie eine neue Zeile / Zeilen

Ausgabe

Hallo, ich habe eine Zeichenfolge, die ich brauche, um bestimmte Zeichenfolgen zu finden und neue Zeilen innerhalb des

Datenrahmens zu erstellen, z.

data = {'Name': ['112 13 15 195 46 60 7 28 88 73 16 91 9  Number of days 32 30 29 32 30 30 31 32 31 29 30 31 30  Appx. average wt 39 4 40 74 331 302 273 263 277 274 307 295 303']}
data = pd.DataFrame(data) 
data_out = {'Name': ['112 13 15 195 46 60 7 28 88 73 16 91 9',  'Number of days 32 30 29 32 30 30 31 32 31 29 30 31 30',  'Appx. average wt 39 4 40 74 331 302 273 263 277 274 307 295 303']}
data_out = pd.DataFrame(data_out)

Danke im Voraus.

Lösung

Versuchen Sie es wie folgt:

  • Verwenden Sie str.splites mit einem Regex-Muster und setzen Sie expandes auf True, um das Ergebnis in separaten Spalten zu erhalten. Die unten verwendete Regex sucht nach einem oder mehreren Leerzeichen ( \s+), gefolgt von einem Großbuchstaben ( A-Z).
  • Verwenden Sie nun , .Tum das Ergebnis zu transponieren und die Spalten in Zeilen umzuwandeln.
  • Verwenden Sie schließlich , df.renameum die eine Spalte umzubenennen, die wir am Ende haben (ihr Name wird sein 0).
res = data.Name.str.split(r'\s+(?=[A-Z])', expand=True, regex=True).T\
    .rename(columns={0:'Name'})
print(res)

                                                Name
0             112 13 15 195 46 60 7 28 88 73 16 91 9
1  Number of days 32 30 29 32 30 30 31 32 31 29 3...
2  Appx. average wt 39 4 40 74 331 302 273 263 27...


Beantwortet von –
ouroboros1


Antwort geprüft von –
Robin (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like