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