Python | Pandas Invertire la divisione delle stringhe in due elenchi/colonne usando str.rsplit()

I panda forniscono un metodo per dividere una stringa attorno a un delimitatore o delimitatore mancante. La riga può quindi essere salvata come elenco in una serie, oppure può anche essere utilizzata per creare un dataframe a più colonne da una singola riga. rsplit() funziona in modo simile a .split() ma rsplit() inizia la divisione dal lato destro. Questa funzione è utile anche quando il delimitatore/delimitatore ricorre più di una volta.

.str deve essere preceduto ogni volta prima di chiamare questo metodo per distinguerlo dalla funzione predefinita in Python, altrimenti genererà un errore.

Sintassi:
Series.str.rsplit (pat = Nessuno, n = - 1, expand = Falso)

< b> Parametri:
pat: Valore stringa, separatore o delimitatore per separare la stringa in.
n: Numero di separazioni massime da effettuare in una singola stringa, il valore predefinito è -1 che significa tutto.
espandi: valore booleano, restituisce un frame di dati con valore diverso in colonne diverse se True. Altrimenti restituisce una serie con un elenco di stringhe

Tipo restituito: Serie di elenchi o frame di dati a seconda del parametro espandi

Per scaricare usato File CSV, fai clic qui.

Negli esempi seguenti, il frame di dati utilizzato contiene dati su alcuni giocatori NBA. Di seguito è allegata un’immagine del frame di dati prima di qualsiasi operazione.

Esempio n. 1: Dividere una linea dal lato destro in un elenco

In questo esempio, la riga nella colonna Team viene divisa ogni volta che appare "t". Il parametro n viene mantenuto a 1, quindi il numero massimo di divisioni per riga è 1. Poiché viene utilizzato rsplit(), la riga verrà suddivisa dal lato destro.

< td class = "codice">

# import modulo pandas

import panda come pd


# leggi il file CSV dall’URL

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


# eliminazione di colonne null per evitare errori

data.dropna (inplace = Vero )


# nuovo frame di dati con colonne delimitate

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


# display
dati

Output:
Come mostrato nell’immagine di output, la linea è stata divisa da "t" in "Celtics" e "t" in "Boston". Questo perché la divisione è avvenuta nell’ordine opposto. Poiché il parametro di espansione è stato lasciato False, è stato restituito un elenco.

Esempio n. 2: Creazione di singole colonne da una riga utilizzando .rsplit()

In questo esempio, la colonna Nome è separata da uno spazio ("") e il parametro di estensione è impostato su True, il che significa che restituirà un frame di dati con tutte le righe separate in un’altra colonna ... Il dataframe viene quindi utilizzato per creare nuove colonne e la vecchia colonna del nome viene eliminata utilizzando il metodo .drop().

Il parametro n è mantenuto a 1 perché possono esserci anche nomi secondari (più di uno spazio per riga). In questo caso rsplit() è utile in quanto calcola dal lato destro e quindi la riga del secondo nome verrà inclusa nella colonna del nome poiché il numero massimo di divisioni viene mantenuto 1.

< /p>

# pandas module import

import panda come pd


# legge il file CSV dall’URL

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


# eliminando null co lumns o valori per evitare errori

data.dropna (inplace = True )


# nuovo frame di dati con delimitato colonne

nuovo = dati [ "Nome" ]. str . split ( " " , n = 1 , expand = True )


# crea una colonna del nome separata da un nuovo frame di dati

data [ "Nome" ] = nuovo [ 0 ]


# crea una colonna del cognome separata da un nuovo frame di dati

dati [ "Cognome" ] = < codice classe = "normale"> nuovo [ 1 ]


# Rimuovi le vecchie colonne Nome

data.drop (colonne = [ "Nome" ], inplace = True )


# df display
dati

< b> Output:
Come mostrato nell’immagine di output, sono state create due nuove colonne e la vecchia colonna Nome è stata rimossa.

Ci auguriamo che questo articolo ti abbia aiutato a risolvere il problema. Oltre a Python | Pandas Invertire la divisione delle stringhe in due elenchi/colonne usando str.rsplit(), controlla altri argomenti relativi a Python functions.

Vuoi eccellere in Python? Consulta la nostra recensione dei migliori corsi online Python 2023. Se sei interessato alla scienza dei dati, controlla anche come imparare a programmare in R.

A proposito, questo materiale è disponibile anche in altre lingue:



Ken Ungerschaft

New York | 2023-02-01

Mi stavo preparando per il mio colloquio di codifica, grazie per aver chiarito questo punto - Python | Pandas Invertire la divisione delle stringhe in due elenchi/colonne usando str.rsplit() in Python non è il più semplice. Lo userò nella mia tesi di laurea

Marie Danburry

Tallinn | 2023-02-01

Python functions è tutto un po' confuso 😭 Python | Pandas Invertire la divisione delle stringhe in due elenchi/colonne usando str.rsplit() non è l'unico problema che ho riscontrato. Lo userò nella mia tesi di laurea

Frank Ungerschaft

San Francisco | 2023-02-01

Semplice e chiaro. Grazie per la condivisione. Il mio punto debole è sempre stato il Python | Pandas Invertire la divisione delle stringhe in due elenchi/colonne usando str.rsplit() e altri problemi con il Python functions 😁. Controllato ieri, funziona!

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