Función Pandas Series.str.strip()()
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
# 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:
pd.Series([' hello ', ...])Se creó una Series que contiene caracteres de espacio en blanco.repr(s)Se utiliza para mostrar el contenido original de la cadena, incluyendo caracteres invisibles como espacios y tabulaciones.s.str.strip()Se eliminaron los caracteres de espacio en blanco en ambos extremos de cada cadena.- 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
# 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
# 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
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.
Otras extensiones
Funciones comunes de Pandas