Was Pandas 1.0 uns gebracht hat

Was Pandas 1.0 uns gebracht hat

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

Die erste Hauptversion enthält viele tolle neue Funktionen, darunter eine verbesserte automatische Zusammenfassung von Datenrahmen, mehr Ausgabeformate, neue Datentypen und sogar eine neue Dokumentationsseite.

Alle Änderungen können eingesehen werden hierIn dem Artikel beschränken wir uns auf einen kleinen, weniger technischen Überblick über die wichtigsten Dinge.

Sie können die Bibliothek wie gewohnt mit installieren Pip, aber zum Zeitpunkt des Schreibens ist Pandas 1.0 noch vorhanden Release Candidate, müssen Sie die Version explizit angeben:

pip install --upgrade pandas==1.0.0rc0

Seien Sie vorsichtig: Da es sich um eine Hauptversion handelt, kann das Update den alten Code zerstören!

Übrigens wurde die Unterstützung für Python 2 seit dieser Version komplett eingestellt (Was könnte ein guter Grund sein? aktualisieren — ca. Übersetzung). Pandas 1.0 erfordert mindestens Python 3.6+. Wenn Sie sich also 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 dieser:

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

Verbesserte automatische Zusammenfassung mit DataFrame.info

Meine Lieblingsinnovation war die Aktualisierung der Methode DataFrame.info. Die Funktion ist deutlich lesbarer geworden, was den Prozess der Datenexploration 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

Ausgabe von Tabellen im Markdown-Format

Eine ebenso angenehme Neuerung ist die Möglichkeit, Datenrahmen mit in Markdown-Tabellen zu exportieren DataFrame.to_markdown.

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

Dies macht es viel einfacher, Tabellen auf Websites wie Medium mithilfe von Github-Gists zu veröffentlichen.

Was Pandas 1.0 uns gebracht hat

Neue Typen für Strings und Boolesche Werte

Die Pandas 1.0-Version hat auch neue hinzugefügt Experimental- Typen. Ihre API kann sich noch ändern, also verwenden Sie sie mit Vorsicht. Generell empfiehlt Pandas jedoch, überall dort neue Typen zu verwenden, wo es sinnvoll ist.

Vorerst 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 die Spalte Dtyp zeigt neue Typen an − Schnur и bool.

Die nützlichste Funktion des neuen String-Typs ist die Möglichkeit zur Auswahl nur Zeilenspalten aus Datenrahmen. Dies kann das Parsen von Textdaten erheblich erleichtern:

df.select_dtypes("string")

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

Sie können mehr über neue Typen lesen hier.

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

Source: habr.com

Kommentar hinzufügen