In Data Science ist Pandas eine der wichtigsten Bibliotheken, um Daten zu analysieren und zu transformieren. Eine der grundlegenden Datenstrukturen in Pandas ist die Series – eine ein-dimensionale, beschriftete Liste, die sowohl Werte als auch Indizes enthält. In diesem Teil lernst du, wie man Series erstellt, manipuliert und analysiert.
1. Was ist eine Pandas Series?
Eine Series ist vergleichbar mit einem Array, jedoch mit flexiblen Indizes:
- Index: Beschriftungen für die Werte
- Werte: Daten, die gespeichert werden
import pandas as pd
# Series aus einer Liste erstellen
zahlen = pd.Series([10, 20, 30, 40])
print(zahlen)
Ausgabe:
0 10
1 20
2 30
3 40
dtype: int64
- Links: Index
- Rechts: Werte
2. Series mit benannten Indizes
Du kannst eigene Labels für den Index vergeben:
zahlen = pd.Series([10, 20, 30], index=["a", "b", "c"])
print(zahlen)
Ausgabe:
a 10
b 20
c 30
dtype: int64
- Zugriff über Index:
print(zahlen["b"]) # 20
3. Series aus einem Dictionary
Ein Dictionary kann direkt in eine Series umgewandelt werden:
daten = {"Anna": 28, "Ben": 35, "Clara": 22}
s = pd.Series(daten)
print(s)
Ausgabe:
Anna 28
Ben 35
Clara 22
dtype: int64
4. Grundlegende Operationen
Pandas Series unterstützen mathematische Operationen direkt auf allen Werten:
zahlen = pd.Series([10, 20, 30, 40])
print(zahlen + 5) # [15, 25, 35, 45]
print(zahlen * 2) # [20, 40, 60, 80]
- Operationen wirken elementweise
Statistik mit Series
print(zahlen.mean()) # Durchschnitt
print(zahlen.sum()) # Summe
print(zahlen.max()) # Maximum
print(zahlen.min()) # Minimum
5. Zugriff auf Daten
Indexbasierter Zugriff
print(zahlen[0]) # 10
print(zahlen[:2]) # erste zwei Werte
Labelbasierter Zugriff
zahlen = pd.Series([10, 20, 30], index=["a", "b", "c"])
print(zahlen["a"]) # 10
print(zahlen[["a","c"]]) # a und c
6. Filtern und Bedingte Auswahl
zahlen = pd.Series([10, 20, 30, 40])
# Werte > 20 auswählen
print(zahlen[zahlen > 20]) # 30, 40
- Nützlich, um Bedingungen auf Daten anzuwenden
7. Operationen mit Lambda-Funktionen
zahlen = pd.Series([10, 20, 30])
# Quadriere alle Werte
s_quadrat = zahlen.apply(lambda x: x**2)
print(s_quadrat)
Ausgabe:
0 100
1 400
2 900
dtype: int64
.apply()erlaubt individuelle Transformationen
8. Series kombinieren
s1 = pd.Series([1, 2, 3], index=["a", "b", "c"])
s2 = pd.Series([4, 5, 6], index=["a", "b", "c"])
# Addition
s3 = s1 + s2
print(s3)
Ausgabe:
a 5
b 7
c 9
dtype: int64
- Indizes passen automatisch zusammen
9. Fehlende Werte in Series
s = pd.Series([1, None, 3, None, 5])
print(s.isnull()) # True für fehlende Werte
print(s.fillna(0)) # fehlende Werte mit 0 ersetzen
.isnull()prüft fehlende Werte.fillna()ersetzt NaN-Werte
10. Praxisbeispiel: Altersanalyse
kunden = pd.Series([28, 35, 22, 30], index=["Anna", "Ben", "Clara", "David"])
# Durchschnittsalter
durchschnitt = kunden.mean()
print(f"Durchschnittsalter: {durchschnitt:.2f}")
# Alle über 30
print(kunden[kunden > 30])
# Alterswerte verdoppeln
print(kunden.apply(lambda x: x*2))
- Zeigt Filtern, Statistik und Transformation in einer Series
11. Vorteile der Pandas Series
- Indexierung – Werte leicht zugänglich
- Automatische Alignment-Funktion bei Operationen
- Integration mit DataFrame – Series ist Baustein für DataFrames
- Statistik- und Transformationsmethoden direkt verfügbar
- NaN-Unterstützung – fehlende Werte einfach handhaben
12. Tipps für Data Science
- Verwende Series für ein-dimensionale Daten, bevor du DataFrames nutzt
- Nutze apply() für Transformationen
- Achte auf Indexbeschriftungen, um Daten korrekt zuzuordnen
- Prüfe auf fehlende Werte und bereinige sie frühzeitig
- Kombiniere Series für Berechnungen oder Filter
Schreibe einen Kommentar