Python-Bibliothek pandas in Version 1.0 erschienen
Die in etlichen Produktivszenarien eingesetzte Programmbibliothek erreicht nach rund zwölf Jahren Entwicklung die an sich bedeutungsschwangere Version 1.0.
- Rainald Menge-Sonnentag
- Alexander Neumann
Die Python-Bibliothek pandas ist in Version 1.0 erschienen. Das Release markiert einen wesentlichen Wechsel in der Versionierung, die ab sofort auf Semantic Versioning (SemVer) setzt, und umfasst zahlreiche Änderungen. Neben neuen Features wie einem Singleton zur Repräsentation für fehlende Werte und einem Datentyp für Strings, schneidet das Release einige alte Zöpfe ab.
Die Anfänge der unter der 3-Klausel-BSD-Lizenz stehenden Software liegen bereits zwölf Jahre zurück. Sie befindet sich bereits in zahlreichen Projekten im produktiven Einsatz und bietet Datenstrukturen und Werkzeuge zur Datenanalyse, darunter spezielle Methoden zur Zeitreihenverarbeitung sowie zur Bearbeitung numerischer Tabellen.
Vieles anders mit SemVer
Durch die Einführung des Semantic Versioning wird es künftig Breaking Changes nur beim Wechsel der Hauptversion geben. Dabei legt Version 1.0 mit den Neuerungen und entfernten Features gleich vor. Sie führt einen allgemeinen Wert ein, der das Fehlen eines Werts repräsentiert. Derzeit kennt die Bibliothek unterschiedliche Werte, um fehlende Daten wiederzugeben. Künftig soll pd.NA
Werte wie None
, np.nan
und pd.NaT
ersetzen und sich konsistent über unterschiedliche Datentypen verwenden lassen. Derzeit ist pd.NA
als experimentell gekennzeichnet und die praktische Umsetzung kann sich noch ändern.
Dasselbe gilt für den neuen Typen StringDtype
, der Zeichenketten repräsentiert. Bisher kam in pandas dafür der object
-Datentyp zum Einsatz, was unter anderem im Zusammenspiel mit Arrays problematisch werden kann: Wegen der fehlenden Typprüfung können Entwickler versehentlich object
einen Wert zuweisen, der kein String ist, aber ein StringArray
kann nur Strings aufnehmen.
Auch der neue Datentyp und das neue Array für boolesche Werte BooleanDtype
beziehungsweise BooleanArray
kennen im Gegensatz zum Datentyp bool
fehlende Werte. Zu den weiteren nennenswerten Neuerungen in pandas 1.0 gehört die Methode DataFrame.to_markdown()
, die eine Ausgabe im Markdown-Format erzeugt.
Vom 25. bis 26. Mai 2020 veranstalten heise Developer, iX und der dpunkt.verlag die enterPy – die neue Konferenz für Python in Business, Web und DevOps.
Im Rahmen eines Call for Proposals (CfP) suchen die Veranstalter Workshop- und Vortragseinreichungen zu den wichtigsten Themenbereichen von den Python-Grundlagen über Deep Dives, Frameworks und Tools, Web, DevOps, Security und Testing bis hin zu Data Science und Machine Learning.
Die Frist zum Einreichen von Vorschlägen endet aber bereits morgen.
Randbedingungen
Mit dem Release von pandas 1.0 entfernen die Entwickler alle als überholt (deprecated) markierten Features der Bibliothek. Das kann zu Inkompatibilitäten führen, die Codeänderungen erfordern. Daher empfehlen die pandas-Entwickler vor dem Einsatz von Version 1.0, zunächst den Code mit pandas 0.25 auf Warnungen zu testen und entsprechend anzupassen. Auf Python-Seite setzt pandas 1.0 mindestens Version 3.6.1 der Programmiersprache voraus. Die offizielle Website der Library empfiehlt zur Installation den Einsatz der Anaconda-Distribution. Die Getting-Started-Seite enthält daneben weitere mögliche Installationswege. Detailliert geht auch die "What's new in 1.0.0"-Seite auf die Neuerungen und Änderungen ein. (ane)