Fonction Pandas Series.str_len()

Pandas 常用函数Fonctions courantes de Pandas


Series.str.len()C'est une fonction de Pandas utilisée pour calculer la longueur d'une chaîne.

Dans le traitement des données, nous avons souvent besoin de connaître la longueur des chaînes, par exemple pour valider la longueur d'une entrée, filtrer du texte d'une longueur spécifique, analyser la distribution des longueurs de texte, etc.len()La fonction peut renvoyer le nombre de caractères dans chaque élément de chaîne.

Explication du terme:lenIl s'agit de l'abréviation de « length », indiquant le nombre de caractères dans la chaîne renvoyée.


Syntaxe de base et paramètres

str.len()C'est une méthode d'accès aux chaînes d'une Series, vous devez donc d'abord disposer d'une Series contenant des chaînes, puis utiliser.strl'accesseur pour l'appeler.

Format de syntaxe

Series.str.len()

Description du paramètre

  • Paramètre: Aucun paramètre. Cette fonction ne nécessite aucun paramètre ; appelez-la directement.

Description de la fonction

  • Valeur de retour: Renvoie une Series d'entiers, représentant le nombre de caractères dans chaque chaîne.
  • Effet: Calcule le nombre de caractères dans chaque élément de type chaîne de la Series (y compris les espaces et les caractères spéciaux).
  • Remarque: Pour les éléments qui ne sont pas des chaînes, il renvoie la longueur de leur représentation sous forme de chaîne.

Exemples

À travers une série d'exemples du simple au complexe, apprenons à maîtriser parfaitementstr.len()son utilisation.

Exemple 1 : Utilisation de base - Calcul de la longueur de chaîne

Exemple

import pandas as pd

# Créer une Series contenant des chaînes de différentes longueurs
s = pd.Series(['hello', 'example', 'python', 'ai', 'data'])

# Utiliser str.len() pour calculer la longueur de chaque chaîne
result = s.str.len()

print("Série d'origine :")
print(s)
print("nString length:")
print(result)

Résultat de sortie :

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

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

Analyse du code :

  1. s.str.len()Calculer le nombre de caractères dans chaque chaîne.
  2. 'hello' a 5 caractères, renvoie 5.
  3. 'example' comporte 6 caractères, renvoie 6.
  4. Une chaîne vide renvoie une longueur de 0.

Exemple 2 : Longueur de chaîne incluant les espaces

len()Il calcule tous les caractères, y compris les espaces.

Exemple

import pandas as pd

# Créer une Series contenant des espaces
s = pd.Series(['hello world', 'example python', 'a b c', ' space '])

# Calculer la longueur de la chaîne
result = s.str.len()

print("Série d'origine :")
print(s)
print("nLongueur de la chaîne (espaces inclus) :")
print(result)

Résultat de sortie :

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

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

Analyse du code :

  • 'hello world' comporte 11 caractères (y compris l'espace au milieu).
  • ' space ' comporte 8 caractères (y compris deux espaces avant et après).
  • Les espaces sont comptés comme des caractères.

Exemple 3 : Filtrer des chaînes de longueur spécifique

len()Il est souvent combiné avec l'indexation booléenne pour filtrer les données.

Exemple

import pandas as pd

# Créer une Series de noms de produits
products = pd.Series(['iPhone', 'Samsung Galaxy', 'MacBook Pro', 'iPad', 'Dell XPS'])

# Filtrer les produits dont la longueur est supérieure à 8
long_names = products[products.str.len() > 8]
# Filtrer les produits dont la longueur est inférieure ou égale à 5
short_names = products[products.str.len() <= 5]

print("Tous les produits :")
print(products)
print("nLongueur supérieure à8produits :")
print(long_names)
print("nLongueur inférieure ou égale à5produits :")
print(short_names)

Résultat de sortie :

所有产品:
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

Analyse du code :

  • products.str.len() > 8Renvoie une Series booléenne, indiquant si la longueur est supérieure à 8.
  • Utilisez l'indexation booléenne pour filtrer les noms de produits qui satisfont la condition.
  • Il s'agit d'une opération courante dans le filtrage de données.

Exemple 4 : Comptage de la distribution des longueurs

len()Cela peut être utilisé pour l'analyse statistique.

Exemple

import pandas as pd

# Créer une Series contenant les longueurs des phrases
sentences = pd.Series([
    'Hello',
    'Hello world',
    'Pandas is powerful',
    'Data science with machine learning',
    'AI'
])

# Calculer la longueur de chaque phrase
lengths = sentences.str.len()

print("Liste de phrases :")
print(sentences)
print("nLongueur en caractères de chaque phrase :")
print(lengths)
print("nStatistiques :")
print(f"Longueur minimale : {lengths.min()}")
print(f"Longueur maximale : {lengths.max()}")
print(f"Longueur moyenne : {lengths.mean():.2f}")
print(f"Longueur totale : {lengths.sum()}")

Résultat de sortie :

句子列表:
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

Analyse du code :

  • lengths.min()Renvoie la longueur de la chaîne la plus courte.
  • lengths.max()Renvoie la longueur de la chaîne la plus longue.
  • lengths.mean()Renvoie la longueur moyenne.
  • lengths.sum()Renvoie le nombre total de caractères.

Exemple 5 : Gestion des données de types mixtes

len()Il calcule également la longueur de la représentation sous forme de chaîne des éléments non-chaînes tels que les nombres.

Exemple

import pandas as pd
import numpy as np

# Créer une Series contenant des types mixtes
s = pd.Series(['hello', 12345, 'example', np.nan, 'py'])

# Calculer la longueur
result = s.str.len()

print("Série d'origine :")
print(s)
print("nString length:")
print(result)

Résultat de sortie :

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

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

Analyse du code :

  • Le nombre 12345 est converti en chaîne '12345', d'une longueur de 5.
  • Les valeurs NaN renvoient NaN (aucune erreur n'est levée).
  • Il renvoie un type float car NaN est de type float.

Exemple 6 : Combinaison avec split pour compter les mots

Vous pouvezlen()etsplit()combinez-les pour compter le nombre de mots.

Exemple

import pandas as pd

# Créer une Series contenant des phrases
sentences = pd.Series([
    'hello world',
    'example python tutorial',
    'pandas data analysis',
    'machine learning'
])

# Diviser d'abord, puis calculer la longueur pour obtenir le nombre de mots
word_counts = sentences.str.split().str.len()

print("Liste de phrases :")
print(sentences)
print("nWord count:")
print(word_counts)

Résultat de sortie :

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

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

Analyse du code :

  • str.split()Divisez la phrase en une liste de mots.
  • .str.len()Calculez la longueur de la liste (c'est-à-dire le nombre de mots).
  • Ceci est très utile pour compter le nombre de mots dans un texte.

Notes

  • str.len()Il compte le nombre de caractères, et non d'octets.
  • Pour les caractères chinois, chaque caractère est compté comme un caractère.
  • Les caractères spéciaux tels que les espaces et les tabulations sont également comptés.
  • Si la Series contient des valeurs NaN, NaN est renvoyé (au lieu d'une erreur).
  • Pour les éléments non-string (tels que les nombres), ils sont d'abord convertis en chaînes de caractères, puis la longueur est calculée.
  • Cette fonction renvoie une nouvelle Series et ne modifie pas les données d'origine.

Pandas 常用函数Fonctions courantes de Pandas

Autres extensions