Python pandas: supprimer tout ce qui est après un délimiteur dans une chaîne de caractères
J'ai des trames de données qui contiennent par exemple:
"vendor a::ProductA"
"vendor b::ProductA
"vendor a::Productb"
J'ai besoin d'enlever tout (et y compris) les deux :: de sorte que je me retrouve avec:
"vendor a"
"vendor b"
"vendor a"
J'ai essayé str.garniture (ce qui semble ne pas exister) et str.split sans succès.
quel serait le moyen le plus facile d'accomplir cette?
str.split
peut le faire - comment avez-vous essayer?OriginalL'auteur f0rd42 | 2016-11-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
pandas.Series.str.split
comme vous le feriez utilisersplit
normalement. Seulement split, sur la chaîne'::'
, et l'index de la liste créée à partir de lasplit
méthode:Voici un non-pandas solution:
Edit: Voici l'étape-par-étape de l'explication de ce qui se passe dans
pandas
ci-dessus:Je suggère de vérifier la les pandas.De la série.str docs, ou, mieux encore, Travailler avec des Données Texte dans les pandas.
Un sec. Je vais vous montrer ci-dessus.
OriginalL'auteur blacksite
Vous pouvez utiliser
str.replace(":", " ")
pour supprimer le"::"
.De split, vous devez spécifier le caractère que vous voulez fractionner en:
str.split(" ")
La fonction trim est appelée bande en python:
str.strip()
Aussi, vous pouvez faire
str[:7]
, pour obtenir"vendor x"
dans vos cordes.Bonne chance
OriginalL'auteur Mohamed AL ANI
il est votre fonction:
passer la chaîne d'origine. Et bénéficier de la nouvelle chaîne ajustée.
je suis désolé , vous pourriez se débarrasser de deux si les déclarations et pass '::' dans la str.split() de la fonction.
OriginalL'auteur Ali tariq