Was brachte uns Pandas 1.0


Am 9. Januar wurde Pandas 1.0.0rc veröffentlicht. Die vorherige Version der Bibliothek ist 0.25.


Die erste Hauptversion enthält viele großartige Innovationen, darunter eine verbesserte automatische Zusammenfassung von Datenrahmen, mehr Ausgabeformate, neue Datentypen und sogar eine neue Dokumentationssite.


Alle Änderungen sind hier zu sehen, im Artikel beschränken wir uns auf einen kleinen, weniger technischen Rückblick auf das Wichtigste.


Sie können die Bibliothek wie gewohnt mit pip installieren, aber da Pandas 1.0 zum Zeitpunkt des Schreibens des Artikels noch ein Release-Kandidat ist , müssen Sie die Version explizit angeben:


pip install --upgrade pandas==1.0.0rc0 

Achtung: Da es sich um eine Hauptversion handelt, kann das Update den alten Code beschädigen!


Die Unterstützung für Python 2 wurde von dieser Version übrigens komplett eingestellt ( was ein guter Grund für ein Upgrade sein könnte - ca. übersetzt ). Für Pandas 1.0 ist mindestens Python 3.6+ erforderlich. Wenn Sie sich nicht sicher sind, überprüfen Sie, welches Sie installiert haben:


 $ pip --version pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) $ python --version Python 3.7.5 

Der einfachste Weg, die Pandas-Version zu überprüfen, ist:


 >>> import pandas as pd >>> pd.__version__ 1.0.0rc0 

Verbesserte automatische Zusammenfassung mit DataFrame.info


Meine Lieblingsinnovation war das Update der DataFrame.info- Methode. Die Funktion ist jetzt viel besser lesbar, was die Datenrecherche noch einfacher macht:


 >>> df = pd.DataFrame({ ...: 'A': [1,2,3], ...: 'B': ["goodbye", "cruel", "world"], ...: 'C': [False, True, False] ...:}) >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null object 2 C 3 non-null object dtypes: int64(1), object(2) memory usage: 200.0+ bytes 

Tabellenausgabe im Markdown-Format


Eine ebenso erfreuliche Neuerung war die Möglichkeit, Datenrahmen mithilfe von DataFrame.to_markdown in Markdown-Tabellen zu exportieren .


 >>> df.to_markdown() | | A | B | C | |---:|----:|:--------|:------| | 0 | 1 | goodbye | False | | 1 | 2 | cruel | True | | 2 | 3 | world | False | 

Dies vereinfacht das Veröffentlichen von Tabellen auf Websites wie "Medium" mithilfe von Github-Gists erheblich.



Neue Typen für Strings und Booleans


In Pandas 1.0 wurden auch neue experimentelle Typen hinzugefügt. Die API kann sich ändern. Verwenden Sie sie daher mit Vorsicht. Im Allgemeinen empfiehlt Pandas jedoch, neue Typen zu verwenden, wo immer dies sinnvoll ist.


Bisher muss die Besetzung explizit erfolgen:


 >>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string") >>> C = pd.Series([False, True, False], dtype="bool") >>> df.B = B, df.C = C >>> df.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 A 3 non-null int64 1 B 3 non-null string 2 C 3 non-null bool dtypes: int64(1), object(1), string(1) memory usage: 200.0+ bytes 

Beachten Sie, wie in der Spalte Dtype die neuen Typen string und bool angezeigt werden .


Das nützlichste Merkmal des neuen Zeichenfolgentyps ist, dass nur Spalten mit Zeilen aus Datenrahmen ausgewählt werden können. Dies kann die Analyse von Textdaten erheblich vereinfachen:


 df.select_dtypes("string") 

Zuvor konnten Zeilenspalten nicht ohne explizite Angabe von Namen ausgewählt werden.


Mehr zu den neuen Typen finden Sie hier .




Danke fürs Lesen! Die vollständige Liste der Änderungen kann, wie bereits erwähnt, hier eingesehen werden .

Source: https://habr.com/ru/post/de483720/


All Articles