Función Pandas Series.str.strip()()

Pandas 常用函数Funciones comunes de Pandas


Series.str.strip()Es una función de Pandas utilizada para eliminar los caracteres de espacio en blanco en ambos extremos de las cadenas.

En el proceso de manipulación de datos, a menudo necesitamos limpiar los datos de texto introducidos por el usuario o leídos de archivos; estos datos pueden contener espacios, tabulaciones o saltos de línea innecesarios en ambos extremos.strip()La función puede eliminar los caracteres de espacio en blanco en ambos extremos de la cadena, haciendo que los datos sean más limpios y ordenados.

Significado de la palabra:stripSignifica "despojar, quitar"; aquí indica eliminar los caracteres de espacio en blanco en ambos extremos de la cadena.


Sintaxis básica y parámetros

str.strip()Es un método del accesor de cadenas de Series, por lo que primero necesitas tener una Series que contenga cadenas y luego llamarlo a través del.straccesor para invocarlo.

Formato de sintaxis

Series.str.strip(to_strip=None)

Descripción de parámetros

Parámetro Tipo ¿Obligatorio? Descripción Valor predeterminado
to_strip str Opcional Especifica el conjunto de caracteres a eliminar. Si no se especifica, por defecto se eliminan los caracteres de espacio en blanco (incluyendo espacios, tabulaciones, saltos de línea, etc.). None (caracteres de espacio en blanco)

Descripción de la función

  • Valor de retorno: Devuelve una nueva Series sin los caracteres de espacio en blanco en ambos extremos.
  • Efecto: Elimina los caracteres de espacio en blanco en ambos extremos de cada elemento de cadena; los espacios en blanco internos permanecen sin cambios.
  • Nota: Solo elimina los caracteres en ambos extremos de la cadena; los caracteres del medio no se ven afectados.

Ejemplos

Vamos a dominar completamente, mediante una serie de ejemplos de simples a complejos,str.strip()su uso.

Ejemplo 1: Uso básico - eliminar espacios en blanco en ambos extremos

Ejemplo

import pandas as pd

# Crear una Series que contiene caracteres de espacio en blanco
s = pd.Series(['  hello  ', 'tworldt', 'nejemplon', '  python  '])

# Usar str.strip() para eliminar los espacios en blanco de ambos extremos
result = s.str.strip()

print("Series original:")
print(repr(s))  # Usar repr() para mostrar los caracteres originales (incluyendo caracteres invisibles)
print("nResultado después de eliminar los espacios en blanco:")
print(result)

Resultado de salida:

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

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

Análisis del código:

  1. pd.Series([' hello ', ...])Se creó una Series que contiene caracteres de espacio en blanco.
  2. repr(s)Se utiliza para mostrar el contenido original de la cadena, incluyendo caracteres invisibles como espacios y tabulaciones.
  3. s.str.strip()Se eliminaron los caracteres de espacio en blanco en ambos extremos de cada cadena.
  4. Los caracteres de espacio en blanco en el medio de la cadena permanecen sin cambios.

Ejemplo 2: Eliminar caracteres específicos

Se puede, mediante elto_stripparámetro, especificar los caracteres que se desean eliminar.

Ejemplo

import pandas as pd

# Crear una Series que contiene caracteres específicos
s = pd.Series(['xxxhello xxx', 'yyyworldyyy', 'zzzejemplozzz'])

# Eliminar el carácter 'x' en ambos extremos
result_x = s.str.strip('x')
# Eliminar el carácter 'y' en ambos extremos
result_y = s.str.strip('y')
# Eliminar el carácter 'z' en ambos extremos
result_z = s.str.strip('z')

print("Series original:")
print(s)
print("nResultado después de eliminar 'x':")
print(result_x)
print("nResultado después de eliminar 'y':")
print(result_y)
print("nResultado después de eliminar 'z':")
print(result_z)

Resultado de salida:

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

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

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

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

Análisis del código:

  • strip('x')Solo se elimina el carácter 'x' en ambos extremos de la cadena.
  • Si hay caracteres iguales en el medio de la cadena, no se eliminarán.
  • Solo se eliminan los caracteres que aparecen consecutivamente en los extremos.

Ejemplo 3: Manejar problemas de espacios en datos reales

Al procesar datos de archivos o entradas de usuario,strip()es muy útil.

Ejemplo

import pandas as pd

# Simular datos de nombres de usuario recopilados de un formulario (pueden incluir espacios innecesarios)
usernames = pd.Series(['  admin  ', 'user123', '  moderator  ', 'guest'])

# Limpiar los nombres de usuario
cleaned_usernames = usernames.str.strip()

print("Nombres de usuario originales:")
print(usernames)
print("nNombres de usuario después de la limpieza:")
print(cleaned_usernames)

# Comparar después de eliminar los espacios en blanco
print("n¿Son iguales después de eliminar los espacios en blanco?:")
print(cleaned_usernames == 'admin')

Resultado de salida:

原始用户名:
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

Análisis del código:

  • strip()Se limpiaron los espacios al inicio y al final de los nombres de usuario.
  • Esto garantiza que la entrada del usuario' admin 'pueda coincidir correctamente.'admin'。
  • Este es un paso importante en la limpieza de datos, que puede evitar fallos de coincidencia debidos a los espacios.

Funciones relacionadas

Pandas también proporciona otras funciones para eliminar espacios en blanco:

  • str.lstrip()- Elimina solo los caracteres de espacio en blanco del lado izquierdo (inicio) de la cadena.
  • str.rstrip()- Elimina solo los caracteres de espacio en blanco del lado derecho (final) de la cadena.

Ejemplo

import pandas as pd

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

print("Cadena original:", repr(s[0]))
print("strip():", repr(s.str.strip()[0]))       # Eliminar en ambos extremos
print("lstrip():", repr(s.str.lstrip()[0]))     # Eliminar en el lado izquierdo
print("rstrip():", repr(s.str.rstrip()[0]))     # Eliminar en el lado derecho

Resultado de salida:

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

Notas

  • str.strip()Por defecto, se eliminan los caracteres de espacio en blanco, incluidos espacios, tabulaciones (t), saltos de línea (n), retornos de carro (r), etc.
  • Esta función solo elimina los caracteres en ambos extremos de la cadena; los caracteres del medio no se ven afectados.
  • Si la Series contiene valores NaN,strip()devolverá NaN.
  • Esta función devuelve una nueva Series y no modifica los datos originales.

Pandas 常用函数Funciones comunes de Pandas

Otras extensiones