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
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?
$ 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.
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
Vielen Dank fürs Lesen! Die vollständige Liste der Änderungen kann, wie bereits erwähnt, eingesehen werden
Source: habr.com