Pandas 1.0 bringt große Veränderungen mit sich

Pandas, die Datenanalysebibliothek für Python, hat endlich einen 1.0-Release-Kandidaten erreicht. Pandas 1.0 entfernt viele veraltete Funktionen und erfordert Python 3.6 oder besser. 

Pandas wurde für die einfache Arbeit mit Daten in strukturierten Formaten wie Tabellen, Matrizen und Zeitreihendaten entwickelt. Pandas stellt einen Großteil der Funktionalität der Datenrahmen von R in den Schatten und funktioniert gut mit anderen wissenschaftlichen Computerbibliotheken in der Python-Welt.

Mit Pandas 1.0 führen die Entwickler von Pandas eine Reihe bahnbrechender Änderungen ein, die bereits seit einiger Zeit in Arbeit sind. Hier finden Sie eine Übersicht über die wichtigsten und wie Sie in Zukunft damit umgehen können.

Pandas benötigt Python 3.6.1 oder höher

Die größte Änderung in Pandas 1.0 besteht darin, die Unterstützung für alle Versionen von Python vor Python 3.6.1 einzustellen. Pandas hat die Unterstützung für Python 2 eingestellt und sich ab 2019 ausschließlich für Python 3 entschieden. Dies ist also hauptsächlich eine Verfeinerung einer bestehenden Richtlinie.

Das Projekt hat auch eine neue Supportrichtlinie für zukünftige Versionen von Pandas. Jeder Tropfen Unterstützung für eine Version von Python wird in wichtigen neuen Versionen von Pandas (2.0, 3.0 usw.) eingeführt. Kleinere Releases verwerfen Features, entfernen sie jedoch nicht. Hauptversionen entfernen Funktionen.

Pandas neuer NA-Wert

Frühere Versionen von Pandas verwendeten unterschiedliche Typen, um fehlende Daten darzustellen, abhängig vom Typ des Containers - einen für Datetime-Typen, einen für Objekte usw. Alle diese Typen werden zu einem einzigen Typ fehlender Daten namens NA zusammengeführt. Derzeit ist die Unterstützung für NA auf einige wenige Objekttypen beschränkt und wird als experimentell angesehen. Daher sollte sie noch nicht in der Produktion verwendet werden. 

API-Inkompatibilitäten

Aufgrund der Anzahl der Änderungen an Pandas 1.0 sind einige der APIs von Pandas jetzt abwärtskompatibel. Dies beinhaltet Änderungen am Verhalten vieler gängiger Elemente:

  • Der DataFrame Typ
  • pandas.array
  • arrays.IntegerArray

Viele dieser Inkompatibilitäten werden Warnungen auslösen, aber es ist am besten, vorhandene Pandas-Skripte neben ihren Pandas 1.0-Gegenstücken zu testen, um zu sehen, wie sie funktionieren.

Veraltete Funktionen in Pandas 1.0

In der Dokumentation von Pandas sind alle Funktionen aufgeführt, die in Pandas 1.0 veraltet, aber nicht entfernt werden sollen. Einige von ihnen wurden einfach umbenannt oder neu organisiert, z. B. das Testmodul, während andere die Verwendung bestimmter Funktionsparameter ändern. In einigen Fällen, z. B. mit Series.item()und Index.item(), wurden Funktionen vor dem Verfall gerettet und sind weiterhin verfügbar.

Wenn Sie eine Version von Pandas verwenden früher als 0,25 ist , die Schöpfer von Pandas empfehlen die Migration auf Pandas 0,25  zuerst , um sicherzustellen , alle Panda abhängigen Code verhält sich wie erwartet,  dann zu Pandas Migration 1.0. Dies soll sicherstellen, dass Code, der veraltete Funktionen verwendet, markiert wird.

In Pandas 1.0 entfernte Funktionen

Einige wichtige Pandas-Funktionen wurden in Pandas 1.0 vollständig entfernt:

  • SparseSeriesund SparseDataFrame. Verwenden Sie stattdessen Seriesoder DataFramemit der sparsevaluesOption.
  • Registrierung der Matplotlib-Einheit. Dies soll verhindern, dass Matplotlib beim Importieren von Pandas beeinträchtigt wird.
  • Viele andere Funktionen, die zuvor veraltet waren.

Auch dies ist ein weiterer Grund, den Pandas 1.0-Release-Kandidaten neben Ihrer vorhandenen Pandas-Installation zu testen und sicherzustellen, dass sich Ihre Skripte wie beabsichtigt verhalten.

Pandas 1.0 installieren

Pandas 1.0 kann über den Pip-Paketmanager durch Eingabe direkt in Python installiert werden pip install pandas. Pandas 1.0 ist auch als Teil der Anaconda Python-Distribution für wissenschaftliches Rechnen verfügbar.

In allen Fällen ist es am besten, Pandas in einer virtuellen Umgebung zu installieren, insbesondere wenn Sie Tests von Pandas 1.0-Skripten neben ihren Gegenstücken früherer Versionen ausführen möchten.