Pandas Series.str_len()-Funktion

Pandas 常用函数Pandas Häufige Funktionen


Series.str.len()Es ist eine Funktion in Pandas, mit der die Länge von Zeichenketten berechnet wird.

In der Datenverarbeitung müssen wir häufig Informationen über die Länge von Zeichenketten kennen, z. B. zur Validierung der Eingabelänge, zum Filtern von Text bestimmter Länge, zur Analyse der Verteilung der Textlänge usw.len()Die Funktion kann die Anzahl der Zeichen in jedem String-Element zurückgeben.

Begriffserklärung:lenEs ist eine Abkürzung für "length", die die Anzahl der Zeichen in der zurückgegebenen Zeichenkette angibt.


Grundlegende Syntax und Parameter

str.len()Es ist eine String-Accessor-Methode von Series, daher müssen Sie zunächst eine Series haben, die Zeichenketten enthält, und dann.strden Accessor verwenden, um sie aufzurufen.

Syntaxformat

Series.str.len()

Parameterbeschreibung

  • Parameter: Keine Parameter. Diese Funktion benötigt keine Parameter; rufen Sie sie einfach direkt auf.

Funktionsbeschreibung

  • Rückgabewert: Gibt eine Integer-Series zurück, die die Anzahl der Zeichen in jeder Zeichenkette darstellt.
  • Wirkung: Berechnet die Anzahl der Zeichen in jedem String-Element der Series (einschließlich Leerzeichen und Sonderzeichen).
  • Hinweis: Für Nicht-String-Elemente gibt es die Länge ihrer String-Darstellung zurück.

Beispiele

Lass uns anhand einer Reihe von Beispielen von einfach bis komplex gründlichstr.len()seine Verwendung gründlich beherrschen.

Beispiel 1: Grundlegende Verwendung - Berechnung der String-Länge

Beispiel

import pandas as pd

# Erstelle eine Series, die Strings unterschiedlicher Länge enthält
s = pd.Series(['hello', 'example', 'python', 'ai', 'data'])

# Verwende str.len(), um die Länge jeder Zeichenkette zu berechnen
result = s.str.len()

print("Originalreihe:")
print(s)
print("nString-Länge:")
print(result)

Ausgabeergebnis:

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

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

Codeanalyse:

  1. s.str.len()Berechne die Anzahl der Zeichen in jeder Zeichenkette.
  2. 'hello' hat 5 Zeichen und gibt 5 zurück.
  3. 'example' hat 6 Zeichen, gibt 6 zurück.
  4. Ein leerer String gibt Länge 0 zurück.

Beispiel 2: String-Länge einschließlich Leerzeichen

len()Es werden alle Zeichen berechnet, einschließlich Leerzeichen.

Beispiel

import pandas as pd

# Eine Series mit Leerzeichen erstellen
s = pd.Series(['hello world', 'example python', 'a b c', ' space '])

# String-Länge berechnen
result = s.str.len()

print("Originalreihe:")
print(s)
print("nString-Länge (einschließlich Leerzeichen):")
print(result)

Ausgabeergebnis:

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

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

Codeanalyse:

  • 'hello world' hat 11 Zeichen (einschließlich des Leerzeichens in der Mitte).
  • ' space ' hat 8 Zeichen (einschließlich zwei Leerzeichen davor und danach).
  • Leerzeichen werden als Zeichen gezählt.

Beispiel 3: Filtern von Zeichenketten bestimmter Länge

len()Es wird oft mit boolescher Indizierung kombiniert, um Daten zu filtern.

Beispiel

import pandas as pd

# Eine Produktnamen-Series erstellen
products = pd.Series(['iPhone', 'Samsung Galaxy', 'MacBook Pro', 'iPad', 'Dell XPS'])

# Produkte mit einer Länge größer als 8 filtern
long_names = products[products.str.len() > 8]
# Produkte mit einer Länge kleiner oder gleich 5 filtern
short_names = products[products.str.len() <= 5]

print("Alle Produkte:")
print(products)
print("nLänge größer als8Produkte:")
print(long_names)
print("nLänge kleiner oder gleich5Produkte:")
print(short_names)

Ausgabeergebnis:

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

Codeanalyse:

  • products.str.len() > 8Gibt eine boolesche Series zurück, die angibt, ob die Länge größer als 8 ist.
  • Verwenden Sie boolesches Indexing, um Produktnamen herauszufiltern, die die Bedingung erfüllen.
  • Dies ist eine häufige Operation bei der Datenfilterung.

Beispiel 4: Längenverteilung zählen

len()Es kann für statistische Analysen verwendet werden.

Beispiel

import pandas as pd

# Erstelle eine Series mit Satzlängen
sentences = pd.Series([
    'Hello',
    'Hello world',
    'Pandas is powerful',
    'Data science with machine learning',
    'AI'
])

# Berechne die Länge jedes Satzes
lengths = sentences.str.len()

print("Satzliste:")
print(sentences)
print("nZeichenlänge jedes Satzes:")
print(lengths)
print("nStatistik:")
print(f"Kürzeste Länge: {lengths.min()}")
print(f"Längste Länge: {lengths.max()}")
print(f"Durchschnittliche Länge: {lengths.mean():.2f}")
print(f"Gesamtlänge: {lengths.sum()}")

Ausgabeergebnis:

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

Codeanalyse:

  • lengths.min()Gibt die Länge des kürzesten Strings zurück.
  • lengths.max()Gibt die Länge des längsten Strings zurück.
  • lengths.mean()Gibt die durchschnittliche Länge zurück.
  • lengths.sum()Gibt die Gesamtzahl der Zeichen zurück.

Beispiel 5: Umgang mit gemischten Datentypen

len()Es berechnet außerdem die Länge der String-Darstellung von Nicht-String-Elementen wie Zahlen.

Beispiel

import pandas as pd
import numpy as np

# Eine Series mit gemischten Typen erstellen
s = pd.Series(['hello', 12345, 'example', np.nan, 'py'])

# Länge berechnen
result = s.str.len()

print("Originalreihe:")
print(s)
print("nString-Länge:")
print(result)

Ausgabeergebnis:

原始 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

Codeanalyse:

  • Die Zahl 12345 wird in den String '12345' umgewandelt, mit einer Länge von 5.
  • NaN-Werte geben NaN zurück (es wird kein Fehler ausgelöst).
  • Es gibt den Typ float zurück, weil NaN float ist.

Beispiel 6: Kombination mit split zum Zählen von Wörtern

Sie könnenlen()undsplit()Kombinieren Sie sie, um die Anzahl der Wörter zu zählen.

Beispiel

import pandas as pd

# Erstellen Sie eine Series mit Sätzen
sentences = pd.Series([
    'hello world',
    'example python tutorial',
    'pandas data analysis',
    'machine learning'
])

# Zuerst aufteilen, dann die Länge berechnen, um die Wortanzahl zu erhalten
word_counts = sentences.str.split().str.len()

print("Satzliste:")
print(sentences)
print("nWord count:")
print(word_counts)

Ausgabeergebnis:

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

Codeanalyse:

  • str.split()Teilen Sie den Satz in eine Liste von Wörtern auf.
  • .str.len()Berechnen Sie die Länge der Liste (d. h. die Anzahl der Wörter).
  • Dies ist sehr nützlich, wenn Sie die Anzahl der Wörter in einem Text zählen.

Hinweise

  • str.len()Es zählt die Anzahl der Zeichen, nicht die Bytes.
  • Bei chinesischen Schriftzeichen zählt jedes Schriftzeichen als ein Zeichen.
  • Sonderzeichen wie Leerzeichen und Tabulatoren werden ebenfalls gezählt.
  • Wenn die Series NaN-Werte enthält, wird NaN zurückgegeben (statt eines Fehlers).
  • Bei Nicht-String-Elementen (wie Zahlen) werden diese zuerst in Strings umgewandelt und dann wird die Länge berechnet.
  • Diese Funktion gibt eine neue Series zurück und verändert die Originaldaten nicht.

Pandas 常用函数Pandas Häufige Funktionen

Andere Erweiterungen