Pandas 2.0 Review: Moderne, schnellere, effizientere und zukunftsweisende Pandas ­čÉ╝ | von Manoj Das | Juli 2023

0
90


├ťberpr├╝fung der Pandas 2.0-Model. Was sind die neuen Funktionen von Pandas? Was ist neu in Pandas 2.0? Neue Erg├Ąnzungen, Updates und ├änderungen in Pandas 2.0. Improve auf Pandas 2.0.

Foto von Adrian Curiel An Unsplash

Pandas 2.0 ist ein bedeutendes Improve der Pandas-Bibliothek, einer leistungsstarken Open-Supply-Datenbearbeitungsbibliothek f├╝r Python. Es handelt sich um eine beliebte Python-Bibliothek, die zur Datenbearbeitung, -analyse und -visualisierung verwendet wird und es Benutzern erm├Âglicht, effizient mit strukturierten Daten zu arbeiten. Die neueste Model enth├Ąlt zahlreiche Verbesserungen und neue Funktionen, die sie noch effizienter und vielseitiger machen.

Die Geschichte der Pandas-Bibliothek geht auf die Bem├╝hungen von Wes McKinney zur├╝ck, der Pandas 2008 w├Ąhrend seiner Arbeit bei AQR Capital Administration gr├╝ndete. Der Bedarf an einem leistungsstarken, flexiblen und effizienten Datenanalysetool in Python f├╝r quantitative Analysen und Finanzdaten motivierte die Entwicklung dieser Bibliothek.

Wichtige Meilensteine ÔÇőÔÇőin der Geschichte von Pandas:

Urspr├╝nge und Erstver├Âffentlichung (2008ÔÇô2009):

  • Wes McKinney begann 2008 mit der Entwicklung von Pandas, um die M├Ąngel bestehender Datenanalysetools in Python bei der Verarbeitung von Zeitreihen und strukturierten Daten zu beheben.
  • Die Bibliothek wurde von der Funktionalit├Ąt der Datenrahmen von R inspiriert und zielte darauf ab, Python-Benutzern ├Ąhnliche Funktionen bereitzustellen.
  • Im Januar 2009 ver├Âffentlichte Wes McKinney die erste Model von Pandas als Open-Supply-Bibliothek unter der BSD-Lizenz.

Wachstum und Popularit├Ąt (2010ÔÇô2012):

  • Nach seiner ersten Ver├Âffentlichung erlangte Pandas aufgrund seiner Benutzerfreundlichkeit und leistungsstarken Datenbearbeitungsfunktionen gro├čen Anklang in der Datenwissenschafts- und Finanzwelt.
  • Die Bibliothek erhielt bedeutende Beitr├Ąge von der Open-Supply-Group, was zu schnellen Verbesserungen und der Hinzuf├╝gung neuer Funktionen f├╝hrte.
  • Als Datenanalyse und Datenwissenschaft an Bedeutung gewannen, wurde Pandas zu einem unverzichtbaren Werkzeug f├╝r Python-Benutzer und trieb das Wachstum weiter voran.

Integration mit dem wissenschaftlichen Python-├ľkosystem (2013ÔÇô2015):

  • Im Jahr 2013 wurde Pandas zusammen mit anderen Bibliotheken wie NumPy, SciPy und Matplotlib zu einer Kernkomponente des wissenschaftlichen Python-├ľkosystems.
  • Die Integration mit diesen Bibliotheken und dem breiteren ├ľkosystem festigte die Place von Pandas als das bevorzugte Datenbearbeitungs- und Analysetool f├╝r Python-Benutzer.

1.0 Ver├Âffentlichung und Reife (2018ÔÇô2020):

  • Nach Jahren der Entwicklung und Verfeinerung erreichte Pandas im Januar 2020 die Model 1.0.0.
  • Die Ver├Âffentlichung der Model 1.0 stellte einen bedeutenden Meilenstein dar und verdeutlichte die Reife und Stabilit├Ąt der Bibliothek.
  • Zu diesem Zeitpunkt warfare Pandas zu einem unverzichtbaren Bestandteil des Knowledge-Science-Workflows geworden und fand sowohl in der Wissenschaft als auch in der Industrie breite Akzeptanz.

Kontinuierliche Entwicklung und Fortschritte (2021-heute):

  • Auch nach der Ver├Âffentlichung von 1.0 wurde die Entwicklung von Pandas in einem stetigen Tempo fortgesetzt.
  • Regelm├Ą├čig wurden neue Funktionen, Fehlerbehebungen und Leistungsoptimierungen eingef├╝hrt, um den sich ├Ąndernden Anforderungen von Datenanalysten und Datenwissenschaftlern gerecht zu werden.
  • Die Group rund um Pandas blieb aktiv und engagiert und lieferte wertvolles Suggestions und Beitr├Ąge zur weiteren Verbesserung der Bibliothek.
  • Model 2.0 ver├Âffentlicht Im April.

Pandas hat eine entscheidende Rolle bei der Popularisierung von Python als Sprache f├╝r die Datenanalyse und -manipulation gespielt.

Foto von woge926 An Unsplash

Pandas 2.0 ist ein mit Spannung erwartetes gro├čes Replace, das die bedeutendste ├ťberarbeitung seit der Gr├╝ndung der Bibliothek darstellt. W├Ąhrend der gr├Â├čte Teil des vorhandenen Pandas-Codes weiterhin wie zuvor funktioniert, f├╝hrt die neue Model wesentliche Verbesserungen ein. Zu den wichtigsten Updates geh├Âren:

  1. Wechseln Sie zu Apache Arrow: Pandas 2.0 verwendet jetzt Apache Arrow zur Datendarstellung anstelle von NumPy. Diese ├änderung behebt viele Einschr├Ąnkungen und steigert die Leistung zahlreicher Pandas-Aufgaben. Die Integration mit Apache Arrow bietet erweiterte Unterst├╝tzung f├╝r Zeichenfolgen-, Datums- und kategoriale Datentypen sowie eine verbesserte Speicherverwaltung, was die Arbeit mit gro├čen Datens├Ątzen erleichtert.
  2. API-├änderungen: Diese Hauptversion erzwingt alle veralteten Versionen der 1.x-Serie, was zu etwa 150 Warnungen in Model 1.5.3 f├╝hrt. Wenn Ihr Code unter 1.5.3 ohne Warnungen ausgef├╝hrt wird, sollte er mit 2.0 kompatibel sein. Zu den bemerkenswerten Abwertungen geh├Âren ├änderungen an der Index-Dtype-Unterst├╝tzung und eine Verhaltens├Ąnderung im numeric_only-Argument f├╝r Aggregationsfunktionen.

Einf├╝hrung des Arguments dtype_backend, um pyarrow-gest├╝tzte oder numpy-gest├╝tzte nullf├Ąhige D-Typen zur├╝ckzugeben. Die folgenden Funktionen haben ein neues Schl├╝sselwort dtype_backend erhalten:

read_csv()

read_clipboard()

read_fwf()

read_excel()

read_html()

read_xml()

read_json()

read_sql()

read_sql_query()

read_sql_table()

read_parquet()

read_orc()

read_feather()

read_spss()

to_numeric()

DataFrame.convert_dtypes()

Sequence.convert_dtypes()

Wenn diese Possibility auf ÔÇ×numpy_nullableÔÇť gesetzt ist, wird ein DataFrame zur├╝ckgegeben, der durch nullf├Ąhige Dtypes unterst├╝tzt wird.

Wenn dieses Schl├╝sselwort auf ÔÇ×pyarrowÔÇť gesetzt ist, geben diese Funktionen durch pyarrow unterst├╝tzte nullf├Ąhige ArrowDtype-DataFrames zur├╝ck.

Verbesserte Leistung und Speichereffizienz

Pandas 2.0 nutzt Apache Arrow als Backend, was die Leistung verbessert, Fehler behebt und die Bibliothek speichereffizienter macht. Apache Arrow ist eine sprach├╝bergreifende Entwicklungsplattform, die f├╝r die In-Reminiscence-Datendarstellung entwickelt wurde und sie dadurch schneller und interoperabler macht. Dadurch kann Pandas mehr Datentypen unterst├╝tzen, insbesondere f├╝r Zeichenfolgen. Der kopierfreie Datenzugriff von Arrow macht den Datenaustausch auch bei gro├čen Datens├Ątzen deutlich effizienter.

Verbesserte Unterst├╝tzung f├╝r Zeitreihendaten

Vor Pandas 2.0 waren Zeitreihendaten auf eine Aufl├Âsung im Nanosekundenbereich beschr├Ąnkt, was die Darstellung von Daten vor dem 21. September 1677 und nach dem 11. April 2264 verhinderte. Mit der neuen Model unterst├╝tzt Pandas nun mehrere Aufl├Âsungen, darunter Millisekunden, Mikrosekunden und Sekunden, mit zunehmender Erweiterung den Datumsbereich erheblich. Au├čerdem k├Ânnen Sie damit beliebige Datumsangaben an den Timestamp-Konstruktor ├╝bergeben, ohne dass es zu Fehlern kommt.

Einf├╝hrung in Nullable-Datentypen

Pandas 2.0 verbessert die Nullable-Datentypen erheblich. Nullable-Datentypen erm├Âglichen die Zuweisung eines eindeutigen ÔÇ×NULLÔÇť-Werts zu Variablen anstelle der typischen Werte f├╝r diesen Datentyp. Es vereinfacht die Arbeit mit fehlenden oder Nulldaten und macht Vorg├Ąnge mit nullf├Ąhigen Daten genauer.

Erweiterte Unterst├╝tzung f├╝r Datentypen und Dateiformate

Pandas 2.0 bietet erweiterte Unterst├╝tzung f├╝r zus├Ątzliche Methoden, Container und Datentypen. Es bietet benutzerdefinierte Zugriffsfunktionen zum Hinzuf├╝gen von ÔÇ×NamespacesÔÇť zu Pandas-Objekten, sodass Bibliotheken benutzerdefinierte Arrays und Datentypen definieren k├Ânnen, die ordnungsgem├Ą├č verarbeitet werden.

Neue Datenmanipulationsfunktionen

Die neue Model f├╝hrt mehrere neue Datenmanipulationsfunktionen ein, die dabei helfen, Rohdaten entsprechend spezifischer Anforderungen aufzubereiten. Einige Beispiele f├╝r diese Funktionen sind Soften, Pivot, Pivot_Table und Crosstab, die eine effiziente Umformung und Organisation von Daten erm├Âglichen.

Pandas 2.0 erm├Âglicht die Erstellung von DataFrames, die durch PyArrow-Arrays unterst├╝tzt werden, was zu einer besseren Leistung f├╝hrt, insbesondere bei der Arbeit mit String-Spalten. Durch die Nutzung des PyArrow-Backends k├Ânnen Benutzer Leistungsverbesserungen erzielen und speichereffizientere Vorg├Ąnge erzielen. Zum Beispiel:

import pandas as pd
# Load a CSV file with PyArrow-backed DataFrame
pd.read_csv(my_file, dtype_backend='pyarrow')

Copy-on-Write, eingef├╝hrt in Pandas 1.5.0 und verbessert in Model 2.0, verwaltet den Speicher effizienter. Es verschiebt tats├Ąchliche Datenkopien, bis die Daten eines Objekts ge├Ąndert werden, wodurch der Speicheraufwand reduziert und die Leistung verbessert wird. Durch die Aktivierung von CoW vermeidet Pandas das Erstellen defensiver Kopien bei der Durchf├╝hrung verschiedener Vorg├Ąnge und erstellt Kopien nur bei Bedarf. Dies f├╝hrt zu einer geringeren Speichernutzung.

import pandas as pd
pd.choices.mode.copy_on_write = True
information = {"a": [1, 2, 3], "b": [4.0, 5.0, 6.0], "c": ["x", "y", "z"]}
df1 = pd.DataFrame(information)
df2 = df1.copy()
df2["a"] = [7, 8, 9]
print(df1)
print(df2)

Beachten Sie bei der Migration von ├Ąlteren Pandas-Versionen auf Pandas 2.0 Folgendes:

Aktualisieren Sie die Python-Umgebung: Um Pandas 2.0 verwenden zu k├Ânnen, muss Python 3.7 oder h├Âher auf Ihrem Pc installiert sein. Aktualisieren Sie auf die neueste Model von Pandas mit:

pip set up - improve pandas

Umgang mit Unterschieden im Datentyps: Apache Arrow verf├╝gt im Vergleich zu NumPy ├╝ber einen breiteren Satz an Datentypen. Passen Sie Ihren Code an, wenn Sie mit neuen Datentypen oder Listentypen arbeiten, die m├Âglicherweise noch nicht vollst├Ąndig unterst├╝tzt werden.

Leistungs├Ąnderung: Benchmarken Sie Ihren Code, um die Leistung verschiedener Datenbearbeitungsaufgaben in Pandas 2.0 im Vergleich zu anderen Datenverarbeitungsbibliotheken zu bewerten.

Insgesamt kann Pandas 2.0 als transformatives und effizientes Replace beschrieben werden, das moderne Datenmanipulationstechnologien nutzt und gleichzeitig Abw├Ąrtskompatibilit├Ąt gew├Ąhrleistet und den Benutzern einen nahtlosen ├ťbergang bietet.

Quelle

ÔÇö ÔÇö ÔÇö

Warum begann der Python-Programmierer, Pandas 2.0 zu verwenden?

Weil sie h├Ârten, dass es sich um ein gro├čes ÔÇ×ImproveÔÇť handelte und dass es alle ÔÇ×DatenaufgabenÔÇť mit viel weniger ÔÇ×PandamoniumÔÇť bew├Ąltigen konnte!

­čÖé­čÖé­čÖé



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here