Función Pandas Series.str_len()

Pandas 常用函数Funciones comunes de Pandas


Series.str.len()Es una función de Pandas que se utiliza para calcular la longitud de cadenas de texto.

En el proceso de procesamiento de datos, a menudo necesitamos conocer la información de longitud de las cadenas, como validar la longitud de entrada, filtrar texto de longitud específica, analizar la distribución de longitudes de texto, etc.len()La función devuelve la cantidad de caracteres de cada elemento de cadena.

Definición del término:lenEs la abreviatura de "length" (longitud) e indica que se devuelve el número de caracteres de la cadena.


Sintaxis básica y parámetros

str.len()Es un método de acceso a cadenas de Series, por lo que primero necesitas tener una Series que contenga cadenas y luego, mediante el.straccesor, invocarlo.

Formato de sintaxis

Series.str.len()

Descripción de parámetros

  • Parámetros:Sin parámetros. Esta función no requiere parámetros, solo hay que invocarla directamente.

Descripción de la función

  • Valor de retorno:Devuelve una Series de enteros que representa el número de caracteres de cada cadena.
  • Efecto:Calcula el número de caracteres de cada elemento de cadena en la Series (incluyendo espacios y caracteres especiales).
  • Nota:Para elementos que no son cadenas, devuelve la longitud de su representación como cadena.

Ejemplos

Vamos a dominar a fondo, mediante una serie de ejemplos de simples a complejos,str.len()el uso de esta función.

Ejemplo 1: Uso básico - Calcular la longitud de una cadena

Ejemplos

import pandas as pd

# Crea una Series que contiene cadenas de diferentes longitudes
s = pd.Series(['hello', 'ejemplo', 'python', 'ai', 'data'])

# Utiliza str.len() para calcular la longitud de cada cadena
result = s.str.len()

print("Series original:")
print(s)
print("nLongitud de la cadena:")
print(result)

Resultado de salida:

原始 Series:
0      hello
1     ejemplo
2     python
3        ai
4       data
dtype: object

字符串长度:
0    5
1    6
2    6
3    2
4    4

Análisis del código:

  1. s.str.len()Calcula el número de caracteres de cada cadena.
  2. 'hello' tiene 5 caracteres, devuelve 5.
  3. 'ejemplo' tiene 6 caracteres, devuelve 6.
  4. Una cadena vacía devuelve una longitud de 0.

Ejemplo 2: Longitud de cadenas con espacios

len()Calcula todos los caracteres, incluidos los espacios.

Ejemplos

import pandas as pd

# Crea una Series que contiene espacios
s = pd.Series(['hello world', 'ejemplo python', 'a b c', '  space  '])

# Calcula la longitud de las cadenas
result = s.str.len()

print("Series original:")
print(s)
print("nLongitud de la cadena (incluyendo espacios):")
print(result)

Resultado de salida:

原始 Series:
0     hello world
1   ejemplo python
2           a b c
3          space
dtype: object

字符串长度(包括空格):
0    11
1    13
2          5
3          8

Análisis del código:

  • 'hello world' tiene 11 caracteres (incluyendo el espacio del medio).
  • ' space ' tiene 8 caracteres (incluyendo los dos espacios delante y detrás).
  • Los espacios se cuentan como caracteres.

Ejemplo 3: Filtrar cadenas de longitud específica

len()Se usa frecuentemente combinado con indexación booleana para filtrar datos.

Ejemplos

import pandas as pd

# Crea una Series con nombres de productos
products = pd.Series(['iPhone', 'Samsung Galaxy', 'MacBook Pro', 'iPad', 'Dell XPS'])

# Filtra los productos con longitud mayor que 8
long_names = products[products.str.len() > 8]
# Filtra los productos con longitud menor o igual que 5
short_names = products[products.str.len() <= 5]

print("Todos los productos:")
print(products)
print("nLongitud mayor que8productos:")
print(long_names)
print("nLongitud menor o igual que5productos:")
print(short_names)

Resultado de salida:

所有产品:
0            iPhone
1    Samsung Galaxy
2       MacBook Pro
3              iPad
4            Dell XPS
dtype: object

长度大于 8 的产品:
1    Samsung Galaxy
2       MacBook Pro
4        Dell XPS
dtype: object

长度小于等于 5 的产品:
0       iPhone
3         iPad
dtype: object

Análisis del código:

  • products.str.len() > 8Devuelve una Series booleana que indica si la longitud es mayor que 8.
  • Utiliza la indexación booleana para filtrar los nombres de productos que cumplen la condición.
  • Esta es una operación común en el filtrado de datos.

Ejemplo 4: Distribución de longitudes

len()Puede utilizarse para análisis estadístico.

Ejemplos

import pandas as pd

# Crea una Series con la longitud de las oraciones
sentences = pd.Series([
    'Hello',
    'Hello world',
    'Pandas is powerful',
    'Data science with machine learning',
    'AI'
])

# Calcula la longitud de cada oración
lengths = sentences.str.len()

print("Lista de oraciones:")
print(sentences)
print("nLongitud de caracteres de cada oración:")
print(lengths)
print("nInformación estadística:")
print(f"Longitud mínima: {lengths.min()}")
print(f"Longitud máxima: {lengths.max()}")
print(f"Longitud media: {lengths.mean():.2f}")
print(f"Longitud total: {lengths.sum()}")

Resultado de salida:

句子列表:
0                            Hello
1                       Hello world
2                  Pandas is powerful
3    Data science with machine learning
4                             AI
dtype: object

每个句子的字符长度:
0      5
1     11
2     18
3     29
4      2
dtype: int64

统计信息:
最短长度: 2
最长长度: 29
平均长度: 13.00
总长度: 65

Análisis del código:

  • lengths.min()Devuelve la longitud de cadena más corta.
  • lengths.max()Devuelve la longitud de cadena más larga.
  • lengths.mean()Devuelve la longitud media.
  • lengths.sum()Devuelve el número total de caracteres.

Ejemplo 5: Manejo de datos de tipos mixtos

len()También calcula la longitud de la representación como cadena de elementos que no son cadenas, como los números.

Ejemplos

import pandas as pd
import numpy as np

# Crea una Series que contiene tipos mixtos
s = pd.Series(['hello', 12345, 'ejemplo', np.nan, 'py'])

# Calcula la longitud
result = s.str.len()

print("Series original:")
print(s)
print("nLongitud de la cadena:")
print(result)

Resultado de salida:

原始 Series:
0       hello
1       12345
2      ejemplo
3        NaN
4         py
dtype: object

字符串长度:
0       5.0
1       5.0
2       6.0
3       NaN
4       2.0

Análisis del código:

  • El número 12345 se convierte en la cadena '12345', con una longitud de 5.
  • Los valores NaN devuelven NaN (no se produce ningún error).
  • Devuelve un tipo float, porque NaN es de tipo float.

Ejemplo 6: Calcular el número de palabras combinando con split

Puedeslen()ysplit()combinar para calcular el número de palabras.

Ejemplos

import pandas as pd

# Crea una Series que contiene oraciones
sentences = pd.Series([
    'hello world',
    'ejemplo python tutorial',
    'pandas data analysis',
    'machine learning'
])

# Primero divide y luego calcula la longitud, así se obtiene el número de palabras
word_counts = sentences.str.split().str.len()

print("Lista de oraciones:")
print(sentences)
print("nNúmero de palabras:")
print(word_counts)

Resultado de salida:

句子列表:
0           hello world
1    ejemplo python tutorial
2    pandas data analysis
3    machine learning
dtype: object

单词数量:
0    2
1    3
2    3
3    2
dtype: int64

Análisis del código:

  • str.split()Divide la oración en una lista de palabras.
  • .str.len()Calcula la longitud de la lista (es decir, el número de palabras).
  • Esto es muy útil al contar el número de palabras de un texto.

Notas importantes

  • str.len()Se calcula el número de caracteres, no el de bytes.
  • Para los caracteres chinos, cada carácter chino cuenta como un carácter.
  • Los espacios, tabulaciones y otros caracteres especiales también se cuentan.
  • Si la Series contiene valores NaN, devuelve NaN (en lugar de lanzar un error).
  • Para elementos que no son cadenas (como números), primero se convierten a cadena y luego se calcula la longitud.
  • Esta función devuelve una nueva Series y no modifica los datos originales.

Pandas 常用函数Funciones comunes de Pandas

Otras extensiones