Fonction Pandas Series.str.strip()

Pandas 常用函数Fonctions courantes de Pandas


Series.str.strip()C'est une fonction de Pandas utilisée pour supprimer les caractères d'espacement aux deux extrémités des chaînes.

Lors du traitement des données, nous devons souvent nettoyer les données textuelles provenant des entrées utilisateur ou lues depuis des fichiers, qui peuvent contenir des espaces, des tabulations ou des sauts de ligne supplémentaires aux deux extrémités.strip()La fonction peut supprimer les caractères d'espacement aux deux extrémités des chaînes, ce qui rend les données plus propres et mieux organisées.

Définition du mot:stripCela signifie « enlever, retirer », et ici cela indique la suppression des caractères d'espacement aux deux extrémités des chaînes.


Syntaxe de base et paramètres

str.strip()Il s'agit de la méthode d'accès aux chaînes de Series, donc vous devez d'abord avoir une Series contenant des chaînes, puis utiliser la.strl'accesseur pour l'appeler.

Format de syntaxe

Series.str.strip(to_strip=None)

Description du paramètre

Paramètre Type Obligatoire ? Description Valeur par défaut
to_strip str Optional Spécifiez l'ensemble des caractères à supprimer. S'il n'est pas spécifié, les caractères d'espacement (y compris les espaces, les tabulations, les sauts de ligne, etc.) sont supprimés par défaut. None (caractères d'espacement)

Description de la fonction

  • Valeur de retourRenvoie une nouvelle Series avec les caractères d'espacement supprimés aux deux extrémités.
  • EffetSupprime les caractères d'espacement aux deux extrémités de chaque élément de chaîne, tandis que les caractères d'espacement au milieu restent inchangés.
  • RemarqueNe supprime que les caractères aux deux extrémités de la chaîne ; les caractères au milieu ne sont pas affectés.

Exemples

À travers une série d'exemples du simple au complexe, maîtrisons à fondstr.strip()son utilisation.

Exemple 1 : Utilisation de base - Suppression des espaces de début et de fin

Exemple

import pandas as pd

# Créer une Series contenant des caractères d'espacement
s = pd.Series([' hello ', 'tworldt', 'nexamplen', ' python '])

# Utiliser str.strip() pour supprimer les espaces aux deux extrémités
result = s.str.strip()

print("Série d'origine :")
print(repr(s))  # Utiliser repr() pour afficher les caractères bruts (y compris les caractères invisibles)
print(Résultat après suppression des espaces de n :)
print(result)

Résultat de sortie :

原始 Series:
0     '  hello  '
1     'tworldt'
2      'nexamplen'
3     '  python  '
dtype: object

去除空白后的结果:
0    hello
1    world
2    example
3    python

Explication du code :

  1. pd.Series([' hello ', ...])Création d'une Series contenant des caractères d'espacement.
  2. repr(s)Utilisé pour afficher le contenu d'origine de la chaîne, y compris les caractères invisibles tels que les espaces et les tabulations.
  3. s.str.strip()Suppression des caractères d'espacement aux deux extrémités de chaque chaîne.
  4. Les caractères d'espacement au milieu de la chaîne restent inchangés.

Exemple 2 : Suppression de caractères spécifiés

Vous pouvezto_stripspécifiez les caractères à supprimer via le paramètre.

Exemple

import pandas as pd

# Créer une Series contenant des caractères spécifiques
s = pd.Series(['xxxhello xxx', 'yyyworldyyy', 'zzzexamplezzz'])

# Supprimer les caractères 'x' aux deux extrémités
result_x = s.str.strip('x')
# Supprimer les caractères 'y' aux deux extrémités
result_y = s.str.strip('y')
# Supprimer les caractères 'z' aux deux extrémités
result_z = s.str.strip('z')

print("Série d'origine :")
print(s)
print("nRésultat après suppression de 'x' :")
print(result_x)
print("nRésultat après suppression de 'y' :")
print(result_y)
print("nRésultat après suppression de 'z' :")
print(result_z)

Résultat de sortie :

原始 Series:
0    xxxhello xxx
1    yyyworldyyy
2    zzzexamplezzz
dtype: object

去除 'x' 后的结果:
0    hello xxx
1    yyyworldyyy
2    zzzexamplezzz

去除 'y' 后的结果:
0    xxxhello xxx
1    worldyyy
2    zzzexamplezzz

去除 'z' 后的结果:
0    xxxhello xxx
1    yyyworldyyy
2    examplezzz

Explication du code :

  • strip('x')Seuls les caractères 'x' aux deux extrémités de la chaîne sont supprimés.
  • Si les mêmes caractères se trouvent au milieu de la chaîne, ils ne seront pas supprimés.
  • Seuls les caractères qui apparaissent consécutivement aux deux extrémités sont supprimés.

Exemple 3 : Gestion des problèmes d'espaces dans des données réelles

Lors du traitement des données provenant de fichiers ou de la saisie utilisateur,strip()cette fonction est très utile.

Exemple

import pandas as pd

# Simuler des données de nom d'utilisateur collectées depuis un formulaire (peut contenir des espaces supplémentaires)
usernames = pd.Series([' admin ', 'user123', ' moderator ', 'guest'])

# cleanupUsername
cleaned_usernames = usernames.str.strip()

print(Nom d'utilisateur d'origine :)
print(usernames)
print(nNom d'utilisateur nettoyé :)
print(cleaned_usernames)

# Supprimer les espaces avant de comparer
print(n Sont-ils égaux après suppression des espaces :)
print(cleaned_usernames == 'admin')

Résultat de sortie :

原始用户名:
0       admin
1      user123
2    moderator
3        guest
dtype: object

清理后的用户名:
0       admin
1      user123
2    moderator
3       guest

清理后的用户名:
0     True
1    False
2    False
3    False

Explication du code :

  • strip()Espaces supprimés avant et après les noms d'utilisateur.
  • Cela garantit que les données saisies par l'utilisateur' admin 'peuvent être mises en correspondance correctement.'admin'。
  • Il s'agit d'une étape importante du nettoyage des données, qui peut éviter les échecs de correspondance causés par les espaces.

Fonctions associées

Pandas fournit également d'autres fonctions pour supprimer les espaces blancs :

  • str.lstrip()- Supprime les espaces blancs uniquement du côté gauche (début) de la chaîne.
  • str.rstrip()- Supprime les espaces blancs uniquement du côté droit (fin) de la chaîne.

Exemple

import pandas as pd

s = pd.Series([' hello world '])

print(Chaîne d'origine :, repr(s[0]))
print("strip():", repr(s.str.strip()[0]))       # Supprimer les deux extrémités
print("lstrip():", repr(s.str.lstrip()[0]))     # Supprimer à gauche
print("rstrip():", repr(s.str.rstrip()[0]))     # Supprimer à droite

Résultat de sortie :

原始字符串: '  hello world  '
strip(): 'hello world'
lstrip(): 'hello world  '
rstrip(): '  hello world'

Notes

  • str.strip()Par défaut, les caractères d'espacement sont supprimés, notamment les espaces, les tabulations (\t), les sauts de ligne (\n), les retours chariot (\r), etc.
  • Cette fonction supprime uniquement les caractères aux deux extrémités de la chaîne ; les caractères du milieu ne sont pas affectés.
  • Si la Series contient des valeurs NaN,strip()il renverra NaN.
  • Cette fonction renvoie une nouvelle Series et ne modifie pas les données d'origine.

Pandas 常用函数Fonctions courantes de Pandas

Autres extensions