Pythonschlange | Pandas Umgekehrtes Aufteilen von Zeichenfolgen in zwei Listen / Spalten mit str.rsplit ()

Pandas bieten eine Methode, um eine Zeichenfolge um ein fehlendes Trennzeichen oder Trennzeichen herum aufzuteilen. Die Zeile kann dann als Liste in einer Reihe gespeichert werden, oder sie kann auch verwendet werden, um einen mehrspaltigen Datenrahmen aus einer einzelnen Zeile zu erstellen. rsplit () funktioniert ähnlich wie .split () aber rsplit () beginnt mit der Aufteilung von der rechten Seite. Diese Funktion ist auch nützlich, wenn das Trennzeichen / Trennzeichen mehr als einmal vorkommt.

.str muss jedes Mal vorangestellt werden, bevor diese Methode aufgerufen wird, um sie zu unterscheiden von der Standardfunktion in Python, sonst wird ein Fehler ausgegeben.

Syntax:
Series.str.rsplit (pat = None, n = - 1 , expand = False)

Parameter:
pat: Zeichenfolgenwert, Trennzeichen oder Trennzeichen zum Trennen der Zeichenfolge bei.
n: Anzahl der maximalen Trennungen, die in einer einzelnen Zeichenfolge vorgenommen werden sollen, Standard ist -1, was alle bedeutet.
expand: Boolescher Wert, gibt einen Datenrahmen mit unterschiedlichen Werten in verschiedenen Spalten zurück Wenn wahr. Andernfalls wird eine Reihe mit einer Liste von Zeichenfolgen zurückgegeben.

Rückgabetyp: Eine Reihe von Listen oder Datenrahmen, je nach Erweiterungsparameter

Zum Herunterladen verwendet CSV-Datei, klicken Sie hier.

In den folgenden Beispielen enthält der verwendete Datenrahmen Daten über einige NBA-Spieler. Ein Bild des Datenrahmens vor allen Operationen ist unten angehängt.

Beispiel Nr. 1 : Aufteilen einer Zeile von der rechten Seite in eine Liste

In diesem Beispiel wird die Zeile in der Team-Spalte jedes Mal geteilt, wenn "t" erscheint. Der Parameter n wird auf 1 gehalten, also ist die maximale Anzahl von Splits pro Zeile 1. Da rsplit() verwendet wird, wird die Zeile von der rechten Seite geteilt.


# Pandas-Modul importieren

import Pandas als pd


# CSV-Datei von URL lesen

data = pd.read_csv ( " https://media.python.engineering/wp-content/uploads/ nba.csv " )


# Nullspalten löschen, um Fehler zu vermeiden

data.dropna (inplace = True )


# neuer Datenrahmen mit getrennten Spalten

Daten [ "Team" ] = data [ "Team" ] . str . rsplit ( "t" , n = 1 , expand = False )


# Anzeige
Daten

Ausgabe:
Wie im Ausgabebild gezeigt, wurde die Linie durch "t" in "Celtics" und das "t" in "Boston" geteilt. Dies liegt daran, dass die Aufteilung in umgekehrter Reihenfolge erfolgte. Da der Erweiterungsparameter auf False gelassen wurde, wurde eine Liste zurückgegeben.

Beispiel Nr. 2 : Erstellen einzelner Spalten aus einer Zeile mit .rsplit ()

In diesem Beispiel wird die Name-Spalte durch ein Leerzeichen ("") getrennt und der Erweiterungsparameter auf True gesetzt, was bedeutet Es wird ein Datenrahmen zurückgegeben, in dem alle Zeilen in einer anderen Spalte getrennt sind ... Der Datenrahmen wird dann verwendet, um neue Spalten zu erstellen, und die alte Namensspalte wird mit der Methode .drop () gelöscht.

Das n Der Parameter wird auf 1 gehalten, da es auch Zweitnamen geben kann (mehr als ein Leerzeichen pro Zeile). In diesem Fall ist rsplit() nützlich, da es von der rechten Seite aus berechnet und daher die mittlere Namenszeile in die Namensspalte aufgenommen wird, da die maximale Anzahl von Splits bei 1 gehalten wird.


# pandas module import

import pandas as pd


# CSV-Datei von URL lesen

data = pd.read_csv ( " https://media.python.engineering/wp-content/uploads /nba.csv " )


# Löschen von Nullspalten oder Werten, um Fehler zu vermeiden

data.dropna (inplace = True )


# neuer Datenrahmen mit getrennten Spalten

new = data [ "Name" ]. str . split ( " " , n = 1 , expand = True )


# eine separate Namensspalte aus einem neuen Datenrahmen erstellen

data [ "First Name" ] = new [ 0 ]


# Erstellen Sie eine separate Nachnamenspalte aus einem neuen Datenrahmen

data [ "Nachname" ] = neu [ 1 ]


# Alte Spalten entfernen Name

data.drop ( Spalten = [ "Name" ], ersetzen Sie = True )


# df display
Daten

Ausgabe:
Wie im Ausgabebild gezeigt, wurden zwei neue Spalten erstellt und die alte Name-Spalte wurde entfernt.

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, das Problem zu lösen. Sehen Sie sich neben Pythonschlange | Pandas Umgekehrtes Aufteilen von Zeichenfolgen in zwei Listen / Spalten mit str.rsplit () auch andere Python functions-bezogene Themen an.

Möchten Sie sich in Python auszeichnen? Sehen Sie sich unseren Rückblick auf die besten Python-Online-Kurse 2023 an. Wenn Sie an Data Science interessiert sind, sehen Sie sich auch an, wie Sie Programmieren in R lernen.

Dieses Material ist übrigens auch in anderen Sprachen verfügbar:



Jan Robinson

Shanghai | 2023-02-01

Einfach und klar formuliert. Danke für den Austausch. Pythonschlange | Pandas Umgekehrtes Aufteilen von Zeichenfolgen in zwei Listen / Spalten mit str.rsplit () und andere Fragen mit Python functions war immer mein Schwachpunkt 😁. Ich bin mir nur nicht ganz sicher, ob es die beste Methode ist

Manuel Lehnman

Massachussetts | 2023-02-01

Danke für die Erklärungen! Ich steckte mit Pythonschlange | Pandas Umgekehrtes Aufteilen von Zeichenfolgen in zwei Listen / Spalten mit str.rsplit () für einige Stunden, endlich habe ich es geschafft 🤗. Gestern überprüft, funktioniert!

Chen Emmerson

Paris | 2023-02-01

Danke für die Erklärungen! Ich steckte mit Pythonschlange | Pandas Umgekehrtes Aufteilen von Zeichenfolgen in zwei Listen / Spalten mit str.rsplit () für einige Stunden, endlich habe ich es geschafft 🤗. Werde es in meiner Bachelorarbeit verwenden

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically