Menü

Python: Die Library pandas nähert sich Version 1.0

Mit dem 1.0-Release startet Semantic Versioning und die Library bekommt neue Datentypen für fehlende Werte und Strings.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 23 Beiträge

(Bild: alphaspirit/Shutterstock.com)

Von

Fast genau zwölf Jahre nach dem Start der Entwicklung von pandas ist nun der erste Release Candidate der Version 1.0 erschienen. Das Release führt Semantic Versioning ein und bringt zahlreiche Änderungen mit. 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 Python-Library erschien erstmals im Januar 2008, und die Freie Software befindet sich bereits in zahlreichen Projekten auch ohne 1.x-Release im produktiven Einsatz. pandas 1.0 markiert allerdings einen wesentlichen Wechsel in der Versionierung, die ab sofort auf Semantic Versioning (SemVer) ausgelegt ist. Damit 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.

pandas 1.0 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 schlicht 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.

Mehr zum Thema auf der enterPy 2020

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.

mehr anzeigen

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.

Mit dem Release von pandas 1.0 entfernen die Entwickler alle als überholt (deprecated) markierten Features der Library. Das kann zu Inkompatibilitäten führen, die Codeänderungen erfordern. Daher empfehlen die pandas-Macher vor dem Einsatz von Version 1.0, zunächst den Code mit pandas 0.25 auf Warnungen zu testen und entsprechend anzupassen.

Weitere Details zu pandas 1.0.0 lassen sich der Liste der Neuerungen entnehmen. Die Python-Library ist Freie Software und steht unter der 3-Klausel-BSD-Lizenz. Sie bietet Datenstrukturen und Werkzeuge zur Datenanalyse, darunter spezielle Methoden zur Zeitreihenverarbeitung sowie zur Bearbeitung numerischer Tabellen.

Auf Python-Seite setzt pandas 1.0 mindestens Version 3.6.1 der Programmiersprache voraus. Die offizielle Website der Library empfiehlt zur Installation die Verwendung der Anaconda-Distribution. Die Getting-Started-Seite enthält daneben weitere mögliche Installationswege.

[Update 13.1. 13:00 Uhr]: Eine kurze Beschreibung der Bibliothek wurde eingefügt. (rme)