Pandas Series.str_len()-Funktion
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
# 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:
s.str.len()Berechne die Anzahl der Zeichen in jeder Zeichenkette.- 'hello' hat 5 Zeichen und gibt 5 zurück.
- 'example' hat 6 Zeichen, gibt 6 zurück.
- 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
# 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
# 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
# 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 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
# 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.
Andere Erweiterungen
Pandas Häufige Funktionen