Python | Pandas Reverse dividindo strings em duas listas/colunas usando str.rsplit()

Os pandas fornecem um método para dividir uma string em torno de um delimitador ou delimitador ausente. A linha pode ser salva como uma lista em uma série ou também pode ser usada para criar um dataframe de várias colunas a partir de uma única linha. rsplit() funciona de forma semelhante a .split() mas rsplit() inicia a divisão do lado direito. Esta função também é útil quando o delimitador/delimitador ocorre mais de uma vez.

.str deve ser prefixado cada vez antes de chamar este método para distingui-lo da função padrão em Python, caso contrário, ele gerará um erro.

Sintaxe:
Series.str.rsplit (pat = Nenhum, n = - 1, expand = False)

< b> Parâmetros:
pat: Valor da string, separador ou delimitador para separar a string em.
n: Números de separações máximas a serem feitas em uma única string, o padrão é -1, o que significa todas.
expand: Valor booleano, retorna um quadro de dados com valor diferente em colunas diferentes se True. Caso contrário, ele retorna uma série com lista de strings

Tipo de retorno: Série de lista ou Data frame dependendo do parâmetro expand

Para download usado CSV, clique aqui.

Nos exemplos a seguir, o quadro de dados usado contém dados sobre alguns jogadores da NBA. Uma imagem do quadro de dados antes de qualquer operação está anexada abaixo.

Exemplo # 1: Dividindo uma linha do lado direito em uma lista

Neste exemplo, a linha na coluna Equipe é dividida cada vez que "t" aparece. O parâmetro n é mantido em 1, então o número máximo de divisões por linha é 1. Como rsplit() é usado, a linha será dividida do lado direito.

< td class = "code">

# importa módulo pandas

import pandas como pd


# lê o arquivo CSV da URL

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


# excluindo colunas nulas para evitar erros

data.dropna (inplace = Verdadeiro )


# novo quadro de dados com colunas delimitadas

dados [ "Equipe" ] = dados [ "Equipe" ]. str . rsplit ( "t" , n = 1 , expanda = False )


# display
dados

Saída:
Conforme mostrado na imagem de saída, a linha foi dividida por "t" em "Celtics" e "t" em "Boston". Isso ocorre porque a divisão aconteceu na ordem oposta. Como o parâmetro de expansão foi deixado False, uma lista foi retornada.

Exemplo # 2: Criando colunas únicas de uma linha usando .rsplit()

Neste exemplo, a coluna Nome é separada por um espaço ("") e o parâmetro de extensão é definido como True, o que significa que ele retornará um quadro de dados com todas as linhas separadas em outra coluna... O dataframe é então usado para criar novas colunas e a coluna de nome antigo é descartada usando o método .drop().

O parâmetro n é mantido em 1 porque também pode haver nomes do meio (mais de um espaço por linha). Nesse caso, rsplit() é útil, pois calcula do lado direito e, portanto, a linha do nome do meio será incluída na coluna de nome, pois o número máximo de divisões é mantido em 1.

< /p>

# pandas module import

importar pandas como pd


# lê o arquivo CSV da URL

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


# deletando null co lumns o valores para evitar erros

data.dropna (inplace = True )


# novo data frame com delimitado colunas

new = dados [ "Nome" ]. str . split ( " " , n = 1 , expanda = True )


# cria uma coluna de nome separada de um novo quadro de dados

dados [ "Nome" ] = new [ 0 ]


# cria uma coluna de sobrenome separada de um novo quadro de dados

dados [ "Sobrenome" ] = new [ 1 ]


# Remover colunas antigas Nome

data.drop (colunas = [ "Name" ], inplace = True )


# df display
dados

< b> Saída:
Conforme mostrado na imagem de saída, duas novas colunas foram criadas e a antiga coluna Nome foi removida.

Esperamos que este artigo tenha ajudado você a resolver o problema. Além de Python | Pandas Reverse dividindo strings em duas listas/colunas usando str.rsplit(), confira outros tópicos relacionados a Python functions.

Quer se destacar em Python? Veja nossa análise dosmelhores cursos on-line de Python 2023. Se você estiver interessado em Ciência de Dados, veja também como aprender programação em R.

A propósito, este material também está disponível em outros idiomas:



Frank OConnell

Texas | 2023-02-05

Talvez haja outra resposta? O que Python | Pandas Reverse dividindo strings em duas listas/colunas usando str.rsplit() significa exatamente?. Verificado ontem, funciona!

Ken Porretti

Texas | 2023-02-05

De forma simples e clara. Obrigado por compartilhar. Python | Pandas Reverse dividindo strings em duas listas/colunas usando str.rsplit() e outras questões com Python functions sempre foi meu ponto fraco 😁. Retornarei amanhã com feedback

Julia Krasiko

California | 2023-02-05

Obrigado por explicar! Eu fiquei preso com Python | Pandas Reverse dividindo strings em duas listas/colunas usando str.rsplit() por algumas horas, finalmente consegui fazer isso 🤗. Só não tenho certeza se é o melhor método

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