Python | Pandas inverse les chaînes de fractionnement en deux listes/colonnes à l`aide de str.rsplit ()

Pandas fournit une méthode pour diviser une chaîne autour d’un délimiteur ou d’un délimiteur manquant. La ligne peut ensuite être enregistrée sous forme de liste dans une série, ou elle peut également être utilisée pour créer un dataframe multi-colonnes à partir d’une seule ligne. rsplit () fonctionne de manière similaire à .split () mais rsplit () commence à se séparer du côté droit. Cette fonction est également utile lorsque le délimiteur / délimiteur apparaît plus d’une fois.

.str doit être préfixé à chaque fois avant d’appeler cette méthode pour la distinguer de la fonction par défaut en Python, sinon elle générera une erreur.

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

< b> Paramètres :
pat : valeur de chaîne, séparateur ou délimiteur pour séparer la chaîne à.
n : nombre de séparations maximales à effectuer dans une seule chaîne, la valeur par défaut est -1, ce qui signifie toutes.
expand : valeur booléenne, renvoie une trame de données avec une valeur différente dans différentes colonnes si True. Sinon, il renvoie une série avec une liste de chaînes

Type de retour : Série de liste ou de trame de données en fonction du paramètre d’expansion

À télécharger utilisé fichier CSV, cliquez ici.

Dans les exemples suivants, le bloc de données utilisé contient des données sur certains joueurs de la NBA. Une image du bloc de données avant toute opération est jointe ci-dessous.

Exemple # 1 : Fractionner une ligne du côté droit dans une liste

Dans cet exemple, la ligne de la colonne Equipe est fractionnée à chaque fois que "t" apparaît. Le paramètre n est maintenu à 1, donc le nombre maximum de fractionnements par ligne est de 1. Puisque rsplit() est utilisé, la ligne sera fractionnée à partir du côté droit.

< td class = "code">

# import module pandas

import pandas as pd


# lire le fichier CSV depuis l’URL

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


# supprimer les colonnes nulles pour éviter les erreurs

data.dropna (inplace = Vrai )


# nouveau bloc de données avec des colonnes délimitées

données [ "Team" ] = données [ "Équipe" ]. str . rsplit ( "t" , n = 1 , développer = Faux )


# display
données

Sortie :
Comme le montre l’image de sortie, la ligne a été divisée par "t" dans "Celtics" et le "t" dans "Boston". C’est parce que la scission s’est produite dans l’ordre inverse. Étant donné que le paramètre d’expansion a été laissé sur False, une liste a été renvoyée.

Exemple 2 : Création de colonnes uniques à partir d’une ligne à l’aide .rsplit ()

Dans cet exemple, la colonne Nom est séparée par un espace ("") et le paramètre d’extension est défini sur True, ce qui signifie qu’il renverra un bloc de données avec toutes les lignes séparées en une autre colonne ... La trame de données est ensuite utilisée pour créer de nouvelles colonnes et l’ancienne colonne de nom est supprimée à l’aide de la méthode .drop ().

Le paramètre n est conservé à 1 car il peut aussi y avoir des deuxièmes prénoms (plus d’un espace par ligne). Dans ce cas, rsplit () est utile car il calcule à partir du côté droit et, par conséquent, la ligne du nom du milieu sera incluse dans la colonne du nom puisque le nombre maximum de divisions est maintenu à 1.

< /p>

# importation du module pandas

importer pandas en tant que pd


# lire le fichier CSV à partir de l’URL

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


# suppression de null co lumns o valeurs pour éviter les erreurs

data.dropna (inplace = True )


# nouvelle trame de données avec délimité colonnes

nouveau = données [ "Nom" ]. str . split ( " " , n = 1 , développer = Vrai )


# créer une colonne de nom séparée à partir d’un nouveau bloc de données

data [ "Prénom" ] = new [ 0 ]


# créer une colonne de nom de famille séparée à partir d’un nouveau bloc de données

data [ "Nom" ] = nouveau [ 1 ]


# Supprimer les anciennes colonnes Nom

data.drop (columns = [ "Nom" ], inplace = Vrai )


# df display
données

< b> Sortie :
Comme indiqué dans l’image de sortie, deux nouvelles colonnes ont été créées et l’ancienne colonne Nom a été supprimée.

Nous espérons que cet article vous a aidé à résoudre le problème. Outre Python | Pandas inverse les chaînes de fractionnement en deux listes/colonnes à l`aide de str.rsplit (), consultez d'autres sujets liés à Python functions.

Vous voulez exceller en Python? Consultez notre examen des meilleurs cours en ligne Python 2023. Si vous êtes intéressé par la science des données, découvrez également comment apprendre la programmation en R.

Au fait, ce matériel est également disponible dans d'autres langues:



Boris Robinson

Warsaw | 2023-02-02

Je me préparais pour mon entretien de codage, merci de clarifier ceci - Python | Pandas inverse les chaînes de fractionnement en deux listes/colonnes à l`aide de str.rsplit () en Python n'est pas le plus simple. Je vais l'utiliser dans ma thèse de licence

Frank Schteiner

Texas | 2023-02-02

Je me préparais pour mon entretien de codage, merci de clarifier ceci - Python | Pandas inverse les chaînes de fractionnement en deux listes/colonnes à l`aide de str.rsplit () en Python n'est pas le plus simple. Je vais l'utiliser dans ma thèse de licence

Dmitry Gonzalez

Prague | 2023-02-02

Je me préparais pour mon entretien de codage, merci de clarifier ceci - Python | Pandas inverse les chaînes de fractionnement en deux listes/colonnes à l`aide de str.rsplit () en Python n'est pas le plus simple. Je reviendrai demain avec des commentaires

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