Nützliche Series-Methoden
Verwenden Sie describe(), value_counts(), unique() und map(), um eine Series schnell zusammenzufassen und zu transformieren.
Nützliche Series-Methoden ist eine kostenlose Pandas & NumPy Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Pandas & NumPy Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Schnelle Zusammenfassung mit describe()
s.describe() erzeugt mit einem einzigen Aufruf eine statistische Zusammenfassung: Anzahl, Mittelwert, Standardabweichung, Minimum, 25. Perzentil (Q1), Median (Q2), 75. Perzentil (Q3) und Maximum. Für String-Series gibt die Methode stattdessen Anzahl, Anzahl eindeutiger Werte, häufigsten Wert und Häufigkeit zurück. Dies ist der schnellste Weg, beim ersten Erkunden eines Datensatzes einen Eindruck von der Verteilung einer Spalte zu erhalten.
import pandas as pd
ages = pd.Series([25, 32, 19, 45, 28, 31, 22, 40])
print(ages.describe())
# count 8.000000
# mean 30.250000
# std 8.406...
# min 19.000000
# 25% 24.250000
# 50% 29.500000
# 75% 34.750000
# max 45.000000value_counts() für Häufigkeitstabellen
s.value_counts() gibt eine neue Series zurück, deren Index die eindeutigen Werte und deren Daten die Anzahl ihres Auftretens enthalten; sortiert wird absteigend nach der Häufigkeit. Übergeben Sie normalize=True, um statt der absoluten Häufigkeiten Anteile zu erhalten. Bei einer kategorialen Spalte ist dies der erste Aufruf, um ihre Verteilung zu verstehen.
import pandas as pd
colors = pd.Series(['red', 'blue', 'red', 'green', 'blue', 'red'])
print(colors.value_counts())
# red 3
# blue 2
# green 1
print(colors.value_counts(normalize=True).round(2))
# red 0.50 blue 0.33 green 0.17unique() und nunique()
s.unique() gibt ein NumPy-Array mit den unterschiedlichen Werten in der Reihenfolge ihres ersten Auftretens zurück (im Gegensatz zu value_counts, das nach Häufigkeit sortiert). s.nunique() gibt die Anzahl der unterschiedlichen Werte als Ganzzahl zurück – die Kardinalität der Spalte. Beide Methoden überspringen NaN standardmäßig. Verwenden Sie nunique(dropna=False), um NaN als eigenständigen Wert mitzuzählen.
import pandas as pd
s = pd.Series(['apple', 'banana', 'apple', 'cherry', 'banana'])
print(s.unique()) # ['apple' 'banana' 'cherry']
print(s.nunique()) # 3map() für elementweise Transformationen
s.map() wendet eine Funktion, ein Dictionary oder eine andere Series auf jedes Element an. Wenn Sie ein Dictionary übergeben, wird jeder Wert durch den entsprechenden Dictionary-Wert ersetzt; Werte, die nicht im Dictionary enthalten sind, werden zu NaN. Bei Übergabe einer Funktion wird diese elementweise angewendet. map eignet sich ideal zum Umcodieren kategorialer Labels oder zum Anwenden von Nachschlagetabellen.
import pandas as pd
grades = pd.Series(['A', 'B', 'C', 'A', 'B'])
gpa = {'A': 4.0, 'B': 3.0, 'C': 2.0}
print(grades.map(gpa))
# 0 4.0
# 1 3.0
# 2 2.0
# 3 4.0
# 4 3.0apply() für benutzerdefinierte Funktionen
s.apply(func) wendet ein Python-aufrufbares Objekt auf jedes Element an und sammelt die Ergebnisse. Anders als map() ist die Methode für komplexere Funktionen ausgelegt, die auch nichtskalare Objekte zurückgeben können. Für einfache elementweise Transformationen sollten Sie map() oder einen vektorisierten Ausdruck bevorzugen; verwenden Sie apply(), wenn die Logik zu komplex für eine direkte Vektorisierung ist.
import pandas as pd
sentences = pd.Series(['Hello world', 'Pandas is great', 'Data science'])
word_counts = sentences.apply(lambda x: len(x.split()))
print(word_counts)
# 0 2
# 1 3
# 2 2sort_values() und sort_index()
s.sort_values() gibt die Series zurück, nach Datenwerten aufsteigend sortiert (übergeben Sie ascending=False für eine absteigende Sortierung). s.sort_index() sortiert nach den Indexlabels. Keine der beiden Methoden ändert standardmäßig die ursprüngliche Series. Übergeben Sie inplace=True, um die Series direkt zu ändern (in modernem Pandas-Code, der Operationen verkettet, weniger empfehlenswert).
import pandas as pd
s = pd.Series([30, 10, 50, 20], index=['d', 'a', 'c', 'b'])
print(s.sort_values())
# a 10
# b 20
# d 30
# c 50
print(s.sort_index())
# a 10
# b 20
# c 50
# d 30isin() für Mitgliedschaftsprüfungen
s.isin(values) gibt eine boolesche Series zurück, die überall dort True ist, wo das Element in der angegebenen Liste oder Menge enthalten ist. Das ist besser lesbar als mehrere Bedingungen mit | und bei großen Mengen deutlich schneller. Die Methode wird häufig verwendet, um Zeilen zu filtern, die zu einer bestimmten Gruppe gehören, oder um Datensätze zu kennzeichnen, die mit einer Suchliste übereinstimmen.
import pandas as pd
countries = pd.Series(['DE', 'US', 'FR', 'UK', 'US', 'DE'])
nordics = ['DE', 'FR']
print(countries.isin(nordics))
# 0 True 1 False 2 True 3 False 4 False 5 True
print(countries[countries.isin(nordics)])between() zum Filtern von Wertebereichen
s.between(left, right, inclusive='both') gibt eine boolesche Series zurück, die dort True ist, wo der Wert innerhalb des Bereichs [left, right] liegt. Standardmäßig sind beide Grenzwerte eingeschlossen. Das ist kürzer als (s >= left) & (s <= right) und macht die Absicht klar erkennbar. Die Methode eignet sich zum Filtern numerischer Bereiche, etwa von Altersgruppen oder Preisklassen.
import pandas as pd
scores = pd.Series([45, 72, 83, 91, 55, 68])
pass_mask = scores.between(60, 100)
print(pass_mask)
# 0 False 1 True 2 True 3 True 4 False 5 True
print(scores[pass_mask].values) # [72 83 91 68]head() und tail() zur schnellen Überprüfung
s.head(n) gibt die ersten n Elemente zurück (standardmäßig 5), und s.tail(n) gibt die letzten n zurück. Diese Methoden werden bei der Datenexploration ständig verwendet, um den Anfang und das Ende einer langen Series zu prüfen, ohne Tausende von Zeilen auszugeben. Sie geben eine neue Series (einen Ausschnitt) zurück und verändern daher das Original nicht.
import pandas as pd
s = pd.Series(range(100))
print(s.head(3))
# 0 0
# 1 1
# 2 2
print(s.tail(3))
# 97 97
# 98 98
# 99 99rename() zum Ändern des Namens
s.rename('new_name') gibt eine neue Series mit einem anderen name-Attribut zurück. Um die Indexbezeichnungen umzubenennen, übergeben Sie ein Dictionary oder eine Funktion: s.rename(index={'old': 'new'}). Das Umbenennen ist wichtig, bevor Sie Series zu einem DataFrame zusammenführen, da der name der Series zur Spaltenüberschrift wird. Benennen Sie Werte immer mit rename um, anstatt rohe Werte neu zuzuweisen.
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'], name='original')
renamed = s.rename('updated').rename(index={'a': 'x', 'b': 'y', 'c': 'z'})
print(renamed)
# x 1
# y 2
# z 3
# Name: updatedidxmin() und idxmax()
s.idxmin() gibt die Indexbezeichnung des kleinsten Werts zurück, und s.idxmax() gibt die Bezeichnung des größten Werts zurück. Das ist nützlicher als argmin/argmax, wenn der Index aussagekräftige Bezeichnungen wie Datumsangaben oder Produktnamen enthält: Sie erhalten die tatsächliche Kennung und nicht nur eine Positionsnummer.
import pandas as pd
scores = pd.Series({'Alice': 88, 'Bob': 73, 'Carol': 95, 'Dan': 60})
print('Best:', scores.idxmax(), scores.max()) # Carol 95
print('Worst:', scores.idxmin(), scores.min()) # Dan 60Schnelltest
Testen Sie Ihr Verständnis der nützlichen Series-Methoden aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: describe() liefert mit einem Aufruf eine statistische Zusammenfassung, value_counts() erstellt eine Häufigkeitstabelle der eindeutigen Werte und map() übersetzt Werte mithilfe eines Dictionarys, während apply() eine benutzerdefinierte Funktion auf jedes Element anwendet. Als Nächstes beginnen wir mit DataFrames zu arbeiten – dem zweidimensionalen Arbeitspferd der Pandas-Datenanalyse.
Lerne Python mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Nützliche Series-Methoden“ kostenlos?
Ja — der vollständige Text von „Nützliche Series-Methoden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Pandas & NumPy Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Pandas & NumPy Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Nützliche Series-Methoden“?
Verwenden Sie describe(), value_counts(), unique() und map(), um eine Series schnell zusammenzufassen und zu transformieren. Du übst Pandas & NumPy Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Pandas & NumPy Academy zu starten?
Keine Vorkenntnisse erforderlich. Pandas & NumPy Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Nützliche Series-Methoden“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Pandas & NumPy Academy-Lektion Code schreiben und ausführen?
Ja. Jede Pandas & NumPy Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Eine Series erstellen
- Zugriff nach Label und Position
- Vektorisierte Operationen auf Series
- Nützliche Series-Methoden