pandas 3 erschienen
Kurz notiert: Die Data-Science-Bibliothek pandas wurde in Version 3.0 veröffentlicht. Auch wenn ein drittes Major-Release erst einmal nach tiefgreifenden Änderungen klingt, ist es tatsächlich nur die SemVer-Versioierung, die für den Major-Release verantwortlich ist, da pandas 3.0 auch ältere Features entfernt, die zuvor deprecated wurden. An sich bleiben natürlich die Grundkonzepte gleich.
Neuerungen
Das pandas-Team hebt drei Neuerungen hervor:
Automatischer String-Typ für Spalten
Wird ein DataFrame erzeugt, ermittelt pandas in vielen Fällen den Datentyp für die Spalte. Wenn z. B. nur Ganzzahlen enthalten sind, ist der Datentyp int. Bei Strings war dies bisher nicht so, wie wurden als der generische Datentyp object aufgelöst und mussten manuell typisiert werden.
Das wird mit pandas 3.0 gelöst, denn String-Spalten erhalten nun automatisch den Typ str. Für diese Umstellung wird ein Migration-Guide bereitgestellt.
Verbesserungen bei Copy-on-Write
Unter Python gibt es eigentlich keine Pointer, womit man sich eigentlich einige Probleme erspart. Trotzdem kann es Referenzen geben, die wie Pointer wirken. Ein Beispiel aus dem Guide:
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})
subset = df["foo"]
subset.iloc[0] = 100
Aus der 1 in "foo" wurde kurzerhand 100, auch wenn nicht der DataFrame direkt geändert werden musste. Das Verhalten wird schwer vorhersehbar, wenn mit vielen DataFrames auf einmal gearbeitet wird.
Wer eine tatsächliche Kopie anlegen will, muss bisher z. B. subset = df["foo"].copy() aufrufen. Dann wird der DataFrame kopiert und Änderungen an subset landen nicht mehr auf einmal im ursprünglichen DataFrame.
Dieses Verhalten ist nun das Standardverhalten, ein expliziter .copy()-Aufruf wird nicht mehr benötigt. Das erfordert zwar einiges Umdenken hinsichtlich der Änderung von Werten, erspart aber auch einige SettingWithCopyWarnings, die schon in früheren Releases bei bestimmten Spaltenoperationen auftraten. Copy-on-Write bedeutet dabei in der Umsetzung, dass der DataFrame erst einmal weiterhin Referenzen nutzt, aber bei der ersten Veränderung einer Referenz den DataFrame kopiert und nur in der Kopie die Veränderung hinterlegt. Alles zu Copy-on-Write ist hier zu finden.
pd.col()-Support
Pandas steht zunehmend im Wettbewerb zu Polars. Da ist es nicht verwunderlich, dass einige bewährte Features auch bei Pandas Einzug halten.
Neu ist ab pandas 3.0 die Funktion pd.col(). Während bisher bei df.assign()-Operationen auf Lambda-Ausdrücke zurückgegriffen werden musste, geht dies nun einfacher mit der col()-Funktion:
df.assign(c=lambda df: df['a'] + df['b']) # vor 3.0
df.assign(c=pd.col('a') + pd.col('b')) # 3.0
Breaking Changes
Hier eine Auswahl der Breaking Changes:
- Datetime-Auflösung: Standard ist jetzt Mikrosekunden statt Nanosekunden. Integer-Casts lieffern dadurch jetzt andere Werte.
- Bei
concatund homogenenDatetimeIndex-Objekten wird jetztsort=Falseberücksichtigt. value_count(sort=False)behält jetzt die Eingabereihenfolge, nicht mehr Sortierung nach Labels.offsets.Dayist jetzt immer ein Kalendertag, kein fixer 24h-Tick. Dabei werden Zeitumstellungen explizit berücksichtigt.NaNvs.NA: In nullable Dtypes werden NaN und NA standardmäßig nun gleich behandelt, Arithmetik erzeugt jetztNA- Die Mindestanforderungen steigen auf Python >= 3.11 und NumPy >= 1.26.
pytzist von nun an optional.
Darüber hinaus gibt es diverse kleine Änderungen, z. B. werden einige Rückgabewerte bei inplace=True verändert.
Weitere Informationen
Das gesamte Changelog ist hier abrufbar. Es wird aufgrund der Deprecations empfohlen, erst auf Pandas 2.3 upgraden, den Code auf Warnings zu überprüfen und erst dann mit dem Upgrade auf Version 3.0 fortzufahren.
Euer monatliches Lieblingsformat bei fosstopia ist wieder da! Gemeinsam werfen wir einen Blick auf die spannendsten Ereignisse und Entwicklungen der letzten Wochen und ordnen sie für Euch ein. Also: schnappt Euch einen Kaffee, Tee, heißen Kakao oder Euer Lieblingsgetränk, macht es Euch gemütlich und lasst uns den Januar 2026 Revue passieren. In dieser Ausgabe erwarten Euch die wichtigsten […]


NVIDIA öffnet sein Cloud Gaming Angebot nun auch für Linux Systeme. Die neue native App steht ab sofort als Beta bereit und markiert einen deutlichen Schritt weg von der bisherigen Steam Deck Ausrichtung. Die GeForce NOW App richtet sich klar an Desktop Nutzer und soll das Erlebnis der Windows und macOS Versionen erreichen. Die Installation […]
VirtualBox legt mit Version 7.2.6 ein Update vor, das viele Schwachstellen beseitigt und den Alltag mit virtuellen Maschinen spürbar ruhiger macht. Die Entwickler konzentrieren sich klar auf Zuverlässigkeit und räumen zahlreiche Fehler aus, die Hosts und Gäste gleichermaßen betreffen. Der Virtual Machine Manager arbeitet nun stabiler und reagiert besser auf ungewöhnliche Startsituationen. Frühere Abstürze beim […]







Die neue Version von Bottles setzt einen deutlichen Schwerpunkt auf mehr Transparenz. Das Projekt erweitert seine Umgebung für Windows Programme auf Linux um ein Werkzeug, das Nutzern vor dem Start einer Datei wichtige Hinweise liefert. Das neue Analysewerkzeug Eagle untersucht ausgewählte Dateien sehr genau. Das Tool erkennt typische Installer und öffnet deren Inhalt in einer […]