Transkripte
1. Einführung: Hallo, Leute. Haben Sie genug
von langsamer Datenverarbeitung? Haben Sie Probleme
mit großen Datensätzen , die Ihr System
an seine Grenzen bringen Wenn Sie mit Daten arbeiten und Geschwindigkeit, Effizienz
und Skalierbarkeit
benötigen, ist
dieser Kurs
genau das Richtige für Sie Machen wir uns mit
der Pollard's Library vertraut und vergleichen wir sie mit
den allseits beliebten Pandas Wenn Sie es leid sind, darauf zu warten , dass
große Datenmengen in Pandas
geladen und verarbeitet werden, ist
dieses Tutorial genau das Richtige für Sie ,
da diese Bibliothek Pandas ersetzen
soll Aber wird sie das wirklich
können? Im Gegensatz zu Pandas ist Polars so
konzipiert, dass es
große Datensätze mithilfe
fortschrittlicher Parallelverarbeitung und verzögerter Auswertung problemlos verarbeiten kann große Datensätze mithilfe fortschrittlicher Parallelverarbeitung Das werden wir in dieser Sitzung
untersuchen. Wir werden uns mit den
Grundprinzipien der Funktionsweise von Polars befassen, ihre Vor-
und Nachteile
erörtern und sie
in Bezug auf Leistung
und Benutzerfreundlichkeit mit Pandas vergleichen in Bezug auf Leistung
und Wir werden auch die
wichtigsten Funktionen für die Arbeit mit
Daten anhand von Hauptbeispielen erläutern, um diese Konzepte zu veranschaulichen Sie werden herausfinden, wie Polare
Pandas übertreffen. Wenn Sie mit Datensätzen mit
mehr als 100 Millionen Zeilen arbeiten, lernen
Sie, Daten in Blöcken zu
verarbeiten,
sodass Sie effizient
arbeiten können, ohne dass Ihnen der Speicherplatz ausgeht. Wir werden uns mit Datenvisualisierung und Polarwerten befassen, und vor
allem werden
Sie den Lazy-Mode verstehen, werden
Sie den Lazy-Mode verstehen, das Geheimnis hinter
Polarwerten Am Ende dieses Tutorials werden
Sie ein solides
Verständnis dafür haben, wie Polare für
Ihre
Datenanalyseanforderungen verwenden können, und in der Lage sein, zu entscheiden, ob es das richtige Tool
für Ihr Projekt Also, bereit, Ihre Fähigkeiten auf die nächste Stufe zu heben,
lassen Sie uns eintauchen
2. Einführung in Polars: Hauptunterschiede zu Pandas und warum es schneller ist: Hallo Leute, lasst uns die Polars-Bibliothek kennenlernen
und sie
mit
den allseits beliebten Pandas vergleichen Polars ist eine schnelle und
effiziente Datenrahmenbibliothek für die Arbeit
mit großen Datensätzen
entwickelt wurde Sie wurde mit Blick auf
Leistung entwickelt und
nutzt Multithreading und
Parallelverarbeitung, nutzt Multithreading und um
Datenmanipulationsaufgaben schnell zu erledigen Datenmanipulationsaufgaben Polars ist in RST implementiert, wodurch es im
Vergleich zu anderen
Datenrahmenbibliotheken wie Pandas eine überlegene Geschwindigkeit
bietet Vergleich zu anderen
Datenrahmenbibliotheken Die Bibliothek unterstützt
Operationen wie das Filtern, Aggregieren und
Transformieren von Daten und ist besonders nützlich
für Datenanalysten und
Datenwissenschaftler , die effizient mit großen Datenmengen
arbeiten müssen mit großen Datenmengen
arbeiten Sowohl mit einer Pattern
- als auch mit einer Rust-API ist
Polars für moderne
Datenverarbeitungs-Workflows zugänglich und leistungsstark Wie ich bereits sagte,
bietet diese Bibliothek eine Vielzahl von Funktionen für die Datenmanipulation, Aggregation und Transformation Meiner Meinung nach ist das
Hauptmerkmal jedoch die faule Bewertung. Was ist faule Bewertung? Da es sich bei der Evaluierung um eine
Rechenstrategie handelt,
die die Ausführung einer Operation verzögert die die Ausführung einer Operation bis ihr Ergebnis
tatsächlich benötigt wird Im Zusammenhang mit Polarwerten bedeutet
dies, dass
Datenmanipulationsoperationen nicht sofort ausgeführt werden,
wenn sie definiert sind Stattdessen werden sie als
eine Reihe von Schritten aufgezeichnet , die später ausgeführt
werden Dieser Ansatz ermöglicht es Polars, die gesamte
Abfolge von Vorgängen zu optimieren, wodurch der gesamte
Rechenaufwand reduziert und die
Leistung verbessert wird, indem
am Ende nur die
erforderlichen Berechnungen ausgeführt werden Ein weiteres wichtiges Merkmal ist die
Multithread-Verarbeitung. Einer der Hauptvorteile
von Polars ist die
Fähigkeit , Daten mithilfe mehrerer
Threads gleichzeitig zu verarbeiten Das bedeutet, dass
Polars die Arbeitslast in
kleinere Teile aufteilen
und diese
gleichzeitig über
mehrere CPU-Kurse ausführen können,
anstatt Aufgaben
nacheinander Polars die Arbeitslast in
kleinere Teile aufteilen
und diese
gleichzeitig über
mehrere CPU-Kurse ausführen können kleinere Teile aufteilen
und diese
gleichzeitig über
mehrere CPU-Kurse ausführen gleichzeitig über
mehrere Sie
beschleunigen Datenoperationen erheblich, insbesondere bei der Arbeit
mit großen Polars erreicht diese Effizienz weil es mit Rust entwickelt wurde, einer
Programmiersprache, die für
hohe Leistung und
sichere Speicherverwaltung entwickelt wurde hohe Leistung und
sichere Speicherverwaltung Rust erleichtert die Arbeit
mit parallelem Rechnen,
was bedeutet, dass Polars die Leistung moderner Computer mit
Mehrkernprozessoren
voll ausnutzen kann moderner Computer mit
Mehrkernprozessoren Ein weiteres leistungsstarkes Merkmal Polars ist die Fähigkeit
, Daten zu speichern. Das bedeutet, dass
Polars, anstatt einen ganzen großen
Datensatz in Rum zu
laden, was Ihren Computer
verlangsamen
oder sogar zum Absturz bringen könnte , einen ganzen großen
Datensatz in Rum zu
laden,
was Ihren Computer
verlangsamen
oder sogar zum Absturz bringen könnte,
nur die Teile lesen und verarbeiten können , die gerade
benötigt werden Wenn Sie
beispielsweise mit
riesigen CSV- oder Parki-Dateien arbeiten , muss
Polars nicht
die gesamte Datei in den Speicher laden Stattdessen greift es bei Bedarf
direkt aus der
Datei auf die Daten zu, wodurch der Vorgang viel schneller
und speichereffizienter Diese Funktionen machen Polars zu einer ausgezeichneten Wahl für die
Arbeit mit großen Datenmengen hilft Analysten und
Forschern dabei,
große Datensätze
schnell und effektiv zu verarbeiten, ohne
dass High-End-Hardware erforderlich ist. Es Forschern dabei,
große Datensätze
schnell und effektiv zu verarbeiten , ohne dass High-End-Hardware erforderlich Polars hilft Analysten und
Forschern dabei,
große Datensätze
schnell und effektiv zu verarbeiten, ohne
dass High-End-Hardware erforderlich ist. Es basiert auf
Apache Arrow, einem Datenformat, das die
Datenspeicherung und -übertragung
schneller und effizienter macht Datenspeicherung und -übertragung
schneller und Stellen Sie sich Arrow als eine
hochoptimierte Methode , um
Daten so zu organisieren und zu strukturieren, dass sie schnell von
verschiedenen Systemen verarbeitet werden
können , da
Arrow von Polars verwendet wird.
Es ermöglicht Polars, Daten nahtlos mit
anderen Tools und Systemen auszutauschen ,
die Wenn Sie beispielsweise in
Polarsystemen arbeiten und Ihre Daten an ein
anderes System wie ein Tool für
maschinelles Lernen
oder eine andere
Datenanalysebibliothek
weitergeben möchten anderes System wie ein Tool für
maschinelles Lernen
oder eine , sorgt
AR dafür, dass diese Datenübertragung reibungslos und
effizient
erfolgt , ohne dass Daten in ein
anderes Format
konvertiert werden müssen , was langsam und kostspielig sein kann. Eine weitere Funktion, die
Polars benutzerfreundlich
macht, sind Teiche wie APIs Pandas ist eines der
beliebtesten Tools für die Datenanalyse in Python, und viele Datenanalysten und Wissenschaftler wissen bereits
, wie es funktioniert Polars wurde so konzipiert, dass es sich
Pandas-Benutzern vertraut anfühlt. Wenn Sie Pandas also bereits kennen, können
Sie mit der Verwendung von Polars beginnen ohne alles von Grund auf neu lernen zu müssen Die
API kommt Ihnen zwar bekannt vor, aber Polars haben den zusätzlichen
Leistungsvorteil dass sie schneller und
effizienter sind, insbesondere bei großen Datensätzen. Wenn Sie also von Pandas
kommen, können
Sie von
derselben benutzerfreundlichen Syntax profitieren, aber die Geschwindigkeit und
Speichereffizienz von Polaren genießen Obwohl Polars
viele großartige Funktionen bietet,
gibt es einige
Einschränkungen, die es Es ist wichtig zu
bedenken, dass
es, wie jedes Tool, möglicherweise nicht für jede Situation am besten
geeignet Wir werden später näher
auf diese Nachteile eingehen später näher
auf diese Nachteile Aber lassen Sie uns zunächst einen
Blick auf einige der Herausforderungen werfen. Ein potenzieller Nachteil
ist, dass Polars im Vergleich zu
etablierteren
Bibliotheken wie Pandas
relativ neu ist im Vergleich zu
etablierteren
Bibliotheken wie Pandas
relativ neu etablierteren
Bibliotheken wie Pandas Da es immer noch wächst, stehen möglicherweise weniger Ressourcen wie Tutorials,
Community-Support
oder Dokumentation
zur Verfügung , was Anfängern den Einstieg erschweren
könnte Da es neu ist,
gibt es möglicherweise auch weniger
Beispiele dafür, wie Unternehmen es in realen,
großen Projekten einsetzen. Da Polars noch nicht
so weit verbreitet ist, gibt es nur begrenzte
Informationen darüber wie viele Unternehmen es in der
Produktionsumgebung
einsetzen, also in den realen Systemen denen Unternehmen
ihre Geschäftstätigkeit betreiben Die meisten Unternehmen, die Polars
verwenden, geben möglicherweise nicht öffentlich Auskunft darüber wie es sich in
ihre Arbeitsabläufe einfügt Daher ist es schwieriger zu
wissen, wie gut es sehr großen
oder komplexen Workloads
abschneidet Einige
Unternehmen beginnen jedoch, Polarlichter für ihre
Datenverarbeitungsaufgaben
zu verwenden, und Sie werden in der Branche möglicherweise
Beispiele dafür finden Mit zunehmender Reife der Bibliothek wird
ihre Akzeptanz
wahrscheinlich zunehmen und immer mehr Unternehmen werden beginnen, ihre Erfahrungen
auszutauschen Lassen Sie uns also anfangen.
3. Polare installieren, DataFrames laden und Spalten effizient abrufen: Hier ist der Befehl zum Installieren der Bibliothek. Lass uns anfangen. Ich werde mein Terminal
öffnen, da ich es
gewohnt bin, damit zu arbeiten. Zuerst werde ich
meine virtuelle Umgebung aktivieren. Wenn Sie
mit virtuellen Umgebungen nicht vertraut sind, empfehle
ich Ihnen dringend, sich mein Video anzusehen, in dem
es darum geht, wie virtuelle Umgebungen verwaltet werden können und wie sie
Ihnen das Leben erleichtern können. Wenn Sie jedoch nicht wissen, was
eine virtuelle Umgebung ist, können
Sie den Befehl
direkt im Terminal ausführen. Derzeit hat es keine Priorität, zu wissen,
wie man mit einer
virtuellen Umgebung
arbeitet . Nachdem ich meine Umgebung aktiviert
habe, kann ich mein
Jupiter-Notebook direkt vom Terminal aus
ausführen , indem ich den
Befehl Jupiter notebook ausführe. Wenn Sie Anaconda nach dem
Start von Jupiter Notebook verwenden, können
Sie diese
Bibliothek direkt
in Jupiter installieren , indem Sie
den folgenden Befehl ausführen Wie Sie sehen können, habe ich die Bibliothek
bereits installiert, sodass wir mit der Arbeit beginnen können Zuerst importiere ich alle notwendigen Bibliotheken
, mit denen wir arbeiten werden. Ich importiere die
Numbi-Bibliothek, weil wir sie benötigen werden. Für diejenigen, die damit nicht
vertraut sind, ist Nampi eine leistungsstarke
Python-Bibliothek für numerische
Berechnungen verwendet wird In meinem Profil finden Sie
ein Tutorial zu dieser Bibliothek. Dann werde ich die
Version von Polars überprüfen. Ich habe einen riesigen Datensatz mit einer Größe von
über 1 Gigabyte heruntergeladen und werde
ihn jetzt mit der
Funktion CSV lesen in Polars importieren ihn jetzt mit der
Funktion CSV lesen in Polars Das
Laden dauert ein wenig . Dann können
wir mithilfe der
Formfunktion, die Sie vielleicht von Pandas
gehört haben, die Sie vielleicht von Pandas
gehört haben, die
Abmessungen unseres Datensatzes überprüfen Falls Sie damit nicht vertraut sind, die Funktion shape and
polars das
Doppelte zurück, das die Anzahl
der Zeilen und Spalten
im Datenrahmen darstellt der Zeilen und Spalten
im Datenrahmen Diese Funktion ist
nützlich, um die
Größe Ihres Datensatzes schnell zu
verstehen Und hier können wir sehen, dass der Datensatz mehr
als 130 Millionen Zeilen enthält. Eine weitere nützliche Funktion, um einen Datenrahmen
schnell zu verstehen ohne alle
Daten in die Head-Funktion zu laden. Standardmäßig werden
die ersten fünf Zeilen angezeigt. Wie wir sehen können, unterscheidet sich das Erscheinungsbild des Datenrahmens in Polarfarben geringfügig von dem, was wir beim Laden von
Daten mit Pandas
beobachtet haben beim Laden von
Daten mit Pandas
beobachtet Der erste spürbare
Unterschied in den Datentypinformationen, die für jede
Spalte angezeigt werden Mit der
Funktion „Zwei Pandas“ in Polaren können
wir den Polars-Datenrahmen in den
Pandas-Datenrahmen konvertieren Dies ist besonders nützlich wenn Sie die
spezifischen Funktionen von Panda nutzen
oder sich in Bibliotheken integrieren müssen, die nur Pandas spezifischen Funktionen von Panda nutzen
oder sich in Bibliotheken integrieren Datenrahmen Die Zwei-Pandas-Methode gewährleistet einen reibungslosen Übergang
zwischen Polars und Pandas, sodass Sie beide Bibliotheken innerhalb desselben
Workflows nutzen einen reibungslosen Übergang
zwischen Polars und Pandas,
sodass Sie beide Bibliotheken innerhalb desselben
Workflows nutzen können. Wenn Sie keine
großen Datensätze auf
Ihren Computer herunterladen möchten , können
Sie öffentlich
verfügbare Datensätze auf Github verwenden Suchen Sie dazu auf GitHub nach einem großen
Datensatz. Gehe zur Zeilenwanne und
kopiere den direkten Link. Benutze die Lesevorgänge, während wir
in Polarzahlen arbeiten, um es zu laden. Wie zuvor dauert die Verarbeitung
etwas Zeit. Aber irgendwann
können wir die Daten sehen. Für das heutige Beispiel arbeiten
wir mit
dem Kriminalitätsdatensatz von Chicago für 2022. Wir können auch
die Spaltentypen überprüfen
und sehen, dass sie 2.525.551 Zeilen
enthält, was
ziemlich groß, aber nicht Um Verwechslungen mit
dem ersten Datenrahmen zu vermeiden , den
wir zuvor geladen haben, werde
ich diesen neuen Datenrahmen umbenennen Ich werde den
ersten Datenrahmen später immer noch verwenden, aber vorerst werden wir
mit diesem zweiten arbeiten
, der von Github geladen wurde. Ich werde alle Zellen neu laden, genau wie in Pandas Bei Polaren ist eine Reihe
eine eindimensionale,
array-artige Struktur, die
eine einzelne Spalte eines Datenrahmens darstellt eine einzelne Spalte eines Sie kann
homogene Datentypen
wie Ganzzahlen, Gleitkommazahlen,
Zeichenketten und Bojen enthalten wie Ganzzahlen, Gleitkommazahlen,
Zeichenketten und Bojen Reihen sind die Bausteine
von Datenrahmen und Polarwerten. Sie ermöglichen es uns,
verschiedene Datenmanipulations
- und Analysevorgänge
wie Filterung,
Transformation und Aggregation durchzuführen verschiedene Datenmanipulations
- und Analysevorgänge wie Filterung,
Transformation und Aggregation Jeder Serie ist ein
Name und ein Datentyp zugeordnet, sodass sie
innerhalb des Datenrahmens leicht referenziert werden Wir können eine Serie auf verschiedene Arten
aus einem Datenrahmen
extrahieren . Der erste,
der den Spaltennamen verwendet. Am einfachsten
ist es, anhand des Namens auf die Spalte zuzugreifen. Um zu vermeiden, dass die gesamte
Serie in große Datensätze geladen wird, verwende
ich die Head-Funktion um nur die
ersten vier Zeilen anzuzeigen Die zweite verwendet die
GAD-Spaltenfunktion. Dieser Ansatz bietet Leistungs
- und Flexibilitätsvorteile gegenüber dem direkten Spaltenzugriff Für mich ist der Hauptgrund für die Verwendung der Funktion
Get column
die Fehlerbehandlung. Wenn Sie versuchen,
eine nicht vorhandene Spalte abzurufen, löst
Pullers sofort einen Fehler Dies bietet sofortige Rückmeldung , wenn der Spaltenname einen Tippfehler Im Gegensatz dazu kann der Zugriff auf
eine Spalte über den Namen entweder stillschweigend
non zurückgeben oder einen Schlüsselfehler auslösen, was das Debuggen erschweren kann Die dritte Methode ist die
Select-Methode. Sie erstellt einen neuen Datenrahmen , der nur die
angegebene Spalte enthält. Selbst wenn er nur eine Spalte
enthält, ist
das Ergebnis immer noch
ein Datenrahmen. Um direkt mit einer Serie zu arbeiten, müssen
wir sie
mit der Funktion „Zwei Serien“ konvertieren. Die Auswahlmethode
in Polarwerten gibt
einen neuen Datenrahmen zurück , auch wenn wir nur
eine einzelne Spalte auswählen Das heißt, wenn ich
eine Variable erstelle und ihr
dieses Ergebnis zuweise,
handelt es sich nicht nur um eine einzelne Spalte, sondern um den Polardatenrahmen, der eine Spalte
enthält Wenn ich also den
D-Typ einer Eins überprüfe, entferne ich
auch die Methode mit zwei Reihen Es könnte zu einem Fehler führen. Da der Typ D normalerweise ein Attribut einer Reihe ist,
kein Datenrahmen. Und hier sind wir,
wir haben einen Fehler. Wenn ich erneut die Methode mit zwei
Datenreihen verwende, da es sich bei der
einen nicht mehr um einen Datenrahmen handelt, Serie „
Body Polar“ und das Attribut vom Typ
D den Datentyp
der Bezirksspalte
zurück. Lass es uns ausdrucken.
Im ersten Fall können
wir den Ausdruck als Eins sehen, wodurch der Wert der
Bezirksspalte als Reihe Hier können wir die Form,
den Datentyp und die Werte sehen den Datentyp und die Werte Im zweiten Fall wird
die Bezirksspalte innerhalb
des Datenrahmenformats verschoben, sodass der
Spaltenname und die zugehörigen Daten
angezeigt
4. Datenmanipulation in Polar: arithmetische Operationen, Spaltenverwaltung und Filtertechniken: In Polaren können wir mit
Standard-Python-Operationen arithmetische Operationen an Reihen oder Spalten Zum Beispiel
können wir Addition verwenden. Wenn wir einer Reihe
zehn hinzufügen möchten, können
wir feststellen, dass jede Zahl
in der resultierenden Reihe im
Vergleich zur Zahl
in der ursprünglichen Reihe um genau zehn
gestiegen genau zehn
gestiegen ist. Hier drucke ich die Originalserie und wir können das Ergebnis sehen. Der Alterswert steigt um zehn. Multiplikation.
Die Multiplikation einer Reihe mit zwei verdoppelt jeden Wert. Hier vergleiche ich mit
der Originalserie, und wir können sehen, dass
jeder Wert verdoppelt wird Durch Subtraktion von 20 wird
jeder Wert um 20 verringert. Fahren wir mit den
Aggregationsmethoden fort. Polare bieten integrierte Methoden für Aggregationen,
wie z. B. Summe Die Summenmethode in Polarwerten wird
verwendet, um die Summe
aller Elemente in einer Reihe oder einer Spalte in
einem Datenrahmen zu berechnen aller Elemente in einer Reihe oder einer Spalte in
einem Datenrahmen Wenn sie auf eine Spalte angewendet wird,
die Ganzzahlwerte enthält, kehrt
sie zur
Gesamtsumme dieser Werte Die Mittelwertmethode für
Polarwerte berechnet den Durchschnitt aller Elemente
in einer Reihe oder Spalte In unserem Beispiel berechnet sie das arithmetische Mittel aller
ganzzahligen Werte in unserer Wir können auch
Vergleichsoperatoren
in Polarwerten verwenden , um boolesche Reihen zu erstellen. Bei Polarwerten können Sie mit
Vergleichsoperatoren Werte in einer
Spalte mit anderen Werten
vergleichen. Das Ergebnis ist
eine
boolesche Werte in einer
Spalte mit anderen Werten
vergleichen. Das Ergebnis ist
eine
boolesche Das Ergebnis ist Eine boolesche Reihe ist eine Folge
von wahren oder falschen Werten,
die Sie verwenden können, um Ihre Daten zu filtern, zu analysieren So funktionieren die Separatoren. In diesem Fall erstellen wir eine neue Reihe mit
booleschen Werten Die Operation vergleicht
jeden Wert in der Spalte mit 20
und gibt eine Reihe derselben Länge in
der ursprünglichen Spalte
zurück , in
der jedes Element
entweder wahr oder falsch ist Auch bei Polarwerten können wir
die Methode „Größer als“ verwenden. Beim ersten Mal wurde nur falsch
zurückgegeben, also habe ich den
Vergleichswert auf 30 geändert Diese Methode wird verwendet, um
eine Spalte mit einem bestimmten Wert zu vergleichen , ähnlich wie bei
der Verwendung des Operators „Größer als“
, den wir zuvor verwendet haben. der Methode „Größer als“ handelt es sich um eine integrierte
Funktion, die zwar dieselbe Operation ausführt , aber mehr Flexibilität bietet. Sie kann nützlich sein, wenn Sie mit Methoden
arbeiten , die Funktionsaufrufen
anstelle von Operatoren erfordern. In einigen Fällen kann es vorzuziehen
sein, wenn Sie
Methodenverkettung verwenden oder
mit benutzerdefinierten Ausdrücken
in einer Abfrage arbeiten mit benutzerdefinierten Ausdrücken
in einer Abfrage Den ersten Fall können wir also verwenden , wenn wir Werte
in einem Datenrahmen überprüfen Die Methode größer als, die
wir im zweiten Fall verwendet haben, können
wir verwenden, wenn wir eine
funktionsbasierte Verarbeitung benötigen, z. B. die Verkettung von Methoden oder Kompatibilität mit
bestimmten Abfragestrukturen In den meisten Fällen
erzielen beide Ansätze dasselbe Ergebnis. Dies ist nützlich für das
Filtern oder Analysieren von Daten bei denen Sie
sich auf Werte konzentrieren möchten , die eine bestimmte
Bedingung erfüllen, z. B. die Suche nach Datensätzen mit höheren Umsätzen
als einem bestimmten Ziel. Zwischendurch überprüft dieser Operator ob ein Wert in einen
bestimmten Zahlenbereich fällt. Wenn Sie beispielsweise den Wert
20-30 verwenden, wird für alle Werte der Wert
true zurückgegeben. In der Spalte liegen diese Werte
zwischen zehn und TG, einschließlich zehn und TJ und fällt Für diejenigen, die
außerhalb dieses Bereichs liegen, ist
dies besonders hilfreich, ist
dies besonders hilfreich wenn Sie Daten filtern oder Bedingungen
erstellen müssen , mit denen überprüft wird,
ob die Werte innerhalb
eines bestimmten Bereichs liegen, z. B. zwischen 18 und 65 Jahren oder
Preisen Bei Polaren erfolgt das Hinzufügen
einer neuen Spalte zu einem Datenrahmen mithilfe
der Methode with columns Es ist wichtig zu wissen, dass Polardatenrahmen unveränderlich ist,
was bedeutet, dass sich der
ursprüngliche Datenrahmen nicht
ändert, wenn
Sie eine neue Spalte hinzufügen Stattdessen erstellt diese Methode einen neuen Datenrahmen
mit einer neuen hinzugefügten Spalte und gibt ihn zurück, wobei der ursprüngliche
Datenrahmen Also verwenden wir die Methode with columns. Sie weist Polars an, unserem Datenrahmen neue
Spalten hinzuzufügen. Um einer neuen Spalte einen konstanten
Wert hinzuzufügen, verwenden
wir die Lead-Funktion Diese Funktion erstellt einen
literalen oder festen Wert , der
jeder Zeile in der neuen Spalte zugewiesen wird Wenn wir beispielsweise t eins verwenden, bedeutet
das, dass jede Zeile in der neuen Spalte den Wert eins
hat Nachdem Sie eine neue Spalte erstellt
haben, können Sie ihr mit AS einen Namen geben. In unserem Fall nenne ich
es neue Spalte. So geben Sie an, wie die neue Spalte im Datenrahmen
heißen soll. Nachdem wir diese Schritte ausgeführt
haben, erstellen wir einen neuen
Datenrahmen auf der Grundlage von Datenrahmen zwei mit einer neuen Spalte mit
dem Namen Neue Spalte hinzugefügt. Die neue Spalte enthält den
Wert eins für alle Zeilen. Und wie erwartet bleibt der
ursprüngliche Datenrahmen unverändert. Wenn Sie eine
Spalte aus einem Datenrahmen löschen möchten, können
Sie diese Drop-Methode verwenden. dieser Methode können
Sie eine Spalte entfernen indem Sie ihren Namen
als Argument angeben. Sie müssen Polars lediglich mitteilen , welche Spalte Sie
entfernen möchten, indem Sie den Namen
der Spalte angeben Es ist wichtig zu wissen, dass Polardatenrahmen unveränderlich
sind,
was bedeutet, dass die Drop-Methode den ursprünglichen
Datenrahmen
nicht direkt verändert Stattdessen wird
ein neuer Datenrahmen erstellt bei dem die Spalte entfernt wird Dadurch wird sichergestellt, dass die Originaldaten
unverändert bleiben. Da sich der ursprüngliche
Datenrahmen nicht ändert, müssen Sie, wenn Sie den
geänderten Datenrahmen,
also den ohne die
gelöschte Spalte,
beibehalten möchten den ohne die
gelöschte Spalte, ,
das Ergebnis wieder
der ursprünglichen Variablen zuweisen oder es in einer neuen Variablen
speichern Andernfalls bleibt der
ursprüngliche Datenrahmen unverändert. Schauen wir uns nun das Filtern einer Polarreihe
anhand bestimmter Bedingungen an. Hier
filtern wir zum Beispiel, um nur
die geraden Zahlen beizubehalten. Die Bedingung
sucht nach geraden Zahlen, und die Filtermethode behält nur die Elemente bei, bei denen die Bedingung als wahr ausgewertet wird Dies ist sehr nützlich, da Sie die Bedingung anpassen und den Filter
signieren können , um
die Datenreihen anhand
verschiedener Kriterien zu filtern die Datenreihen anhand
verschiedener Kriterien Ich habe zum Beispiel
alle Werte über 20 gefiltert. Wenn ich es auf 30 ändere, wird
die Bedingung klarer. Lassen Sie mich das schnell aktualisieren und die Zelle für
das nächste Beispiel
neu starten. Lassen Sie uns nun zwei Serien erstellen. Wahrscheinlich ist es besser, nur Namensserien zu
verwenden. Ich habe den Druckoperator entfernt , weil das Jupiter-Notebook ihn großartig
wiedergibt. Und die zweite Serie unterscheidet sich nur
geringfügig von der ersten. Lassen Sie uns sie jetzt verketten. Bei der Arbeit mit Pullern hängt die Verkettung von Wenn Sie zwei
Zeichenkettenreihen mit dem Plus-Operator verketten , führt
die Operation eine elementweise Verkettung der Zeichenketten durch. Das bedeutet, dass jedes
Element in der ersten Reihe mit dem entsprechenden Element in der zweiten Reihe verkettet
wird verkettet
wird. Da es sich bei beiden Serien um Zeichenketten
handelt, verkettet der Plus-Operator
die Wenn es sich jedoch um Serien
verschiedener Typen handelt, werden Polarwerte die Datenreihen automatisch
auf einen kompatiblen Datentyp umrechnen
, bevor
der kompatiblen Datentyp umrechnen
, bevor diesem Fall
wandelt Polars die ganzen Zahlen automatisch
in Zeichenketten um, bevor die Verkettung
durchgeführt Wenn Sie zwei Reihen vom Typ
Ganzzahlen
mit dem Plus-Operator verketten , führt die Operation eine
elementweise Addition dieser ganzen Zahlen durch, keine Zeichenkettenverkettung . Infolgedessen enthält die Reihe summierte Ganzzahlen.
5. Polar-Datenframes meistern: Slicing, deskriptive Statistik und fortgeschrittene Datenexplorationsmethoden: Sehen wir uns kurz an, wie Sie auf Zeilen und Polarwerte zugreifen können. In Polaren können Sie mithilfe von Indizierung und Aufteilung auf
Zeilen zugreifen , ähnlich wie es in
anderen
Datenmanipulationsbibliotheken wie Pandas funktioniert anderen
Datenmanipulationsbibliotheken spaltenförmigen Datenstruktur gibt es jedoch einige wichtige
Unterschiede in der Art und Weise, wie
Polars Aufgrund seiner spaltenförmigen Datenstruktur gibt es jedoch einige wichtige
Unterschiede in der Art und Weise, wie
Polars mit Zeilen umgeht Sie können
mithilfe der Indizierung auf Zeilen zugreifen, aber Polars gibt
statt eines
einzeiligen Objekts einen neuen Datenrahmen zurück statt Wenn Sie über einen Index auf eine bestimmte
Zeile zugreifen, Polars sie als
neuen Datenrahmen zurück und nicht als einzelnes Tupel oder
einzelnes Dies unterscheidet sich von Pandas, wo beim Zugriff auf eine Zeile
ein eindimensionales Objekt der Serie zurückgegeben ein eindimensionales Objekt der Serie Da Polars für die
Arbeit mit Spalten und
nicht mit Zeilen optimiert ist , stellt
dieses Verhalten sicher, dass die Daten
bei der Ausführung von Vorgängen
konsistent und effizient bleiben bei der Ausführung von Vorgängen
konsistent und effizient Sie können auch mehrere
Zeilen mithilfe der Slice-Notation extrahieren, was ähnlich funktioniert, wie Sie Listen oder Ray in Python aufteilen. Auf diese Weise können Sie einen Bereich von Zeilen
effizient
abrufen , ohne
die Datenrahmenstruktur zu ändern. Im Gegensatz zu Pandas
verwendet Polars keinen expliziten Zeilenindex. Stattdessen werden Zeilen
anhand ihrer Position identifiziert, was die
Arbeit mit großen Datensätzen effizienter macht Arbeit mit großen Dieser spaltenorientierte Ansatz
hilft Polaren dabei,
Datenoperationen viel schneller durchzuführen Datenoperationen viel schneller als herkömmliche
rollenbasierte Die in Polars beschriebene
Methode ist ein leistungsstarkes Tool, mit dem deskriptive
Statistiken für einen
Datenrahmen generiert werden deskriptive
Statistiken für einen
Datenrahmen generiert Deskriptive Statistiken helfen Ihnen dabei die
wichtigsten Merkmale Ihrer Daten
zusammenzufassen und zu verstehen, sodass Sie sich schnell einen Überblick über Hier können wir sehen, was die
beschriebene Methode bietet. Count zeigt die Anzahl der Werte, die nicht
Null sind, in jeder Spalte. Es hilft Ihnen zu verstehen, wie
viele Daten für
jede Variable verfügbar sind und
ob Werte fehlen. Der Mittelwert oder Durchschnitt
jeder numerischen Spalte gibt Ihnen eine Vorstellung von der
zentralen Tendenz der Daten. Welcher Wert ist für diese Spalte am
typischsten? Die Standardabweichung gibt an, wie die
Daten um den Mittelwert herum verteilt sind. Eine kleine Standardabweichung bedeutet, dass die Werte
nahe am Mittelwert liegen, während eine große Standardabweichung bedeutet, dass die Werte
stärker gestreut sind. Abhängig von den Daten können die
Umfrageteilnehmer auch
andere Statistiken bereitstellen, die mehr Einblicke in die Verteilung der
Werte in den einzelnen Spalten Die beschriebene
Methode eignet sich hervorragend, um schnell einen
Einblick in Ihre Daten Sie hilft Ihnen dabei, Muster zu erkennen und das allgemeine
Verhalten der Daten zu verstehen, Ausreißer oder Werte
zu
erkennen die normalerweise
weit vom Mittelwert entfernt sind, ein Gefühl dafür zu
bekommen, wie stark der Datensatz
variiert, was Ihnen bei
Entscheidungen
darüber helfen kann , wie die Daten bereinigt oder weiter
verarbeitet werden sollen Die Methode der geschätzten Größe
in Polarwerten wird verwendet, um
abzuschätzen, wie viel Speicher ein Datenrahmen in Ihrem
System beansprucht Sie gibt Ihnen eine ungefähre
Größe des Datenrahmens, sodass Sie nachvollziehen können,
wie viel Speicherplatz er in Ihrem Speicher einnimmt Wenn Sie die geschätzte
Größe für einen Datenrahmen aufrufen, wird die Speicherauslastung
des Datenrahmens in Megabyte berechnet des Datenrahmens in Megabyte Dies ist nützlich, wenn
Sie mit
großen Datensätzen arbeiten und
sicherstellen möchten, dass Ihr System über
genügend Arbeitsspeicher verfügt, sicherstellen möchten, dass Ihr System über
genügend Arbeitsspeicher verfügt um sie effizient verarbeiten zu können Anstatt den
gesamten Datenrahmen zu laden und zu überprüfen, wie viel Speicherplatz
er im Speicher belegt, was langsam
oder ineffizient sein kann, können
Sie eine schnelle Die duplizierte Methode in
Polarwerten wird verwendet, um
doppelte Zeilen innerhalb eines
Datenrahmens anhand aller Spalten zu identifizieren doppelte Zeilen innerhalb eines
Datenrahmens anhand Sie gibt eine Tabelle und eine Reihe zurück und
gibt an, ob jede Zeile
ein Duplikat einer vorherigen Zeile ist ein Duplikat einer vorherigen Um nur die doppelten Zeilen zu erhalten, können
wir die Daten filtern Dadurch werden alle
nicht duplizierten Zeilen entfernt, sodass nur die Duplikate
im resultierenden Wie wir sehen können, gibt es in diesem Fall keine
Duplikate. Diese leeren Methoden
und Polare werden verwendet, um zu überprüfen, ob ein Datenrahmen Daten
enthält oder nicht Im Wesentlichen hilft es Ihnen
festzustellen, ob der
Datenrahmen leer ist,
was bedeutet, dass er keine Zeilen
oder Daten enthält Sie könnten beispielsweise
einen Datenrahmen mit Spaltennamen haben , aber keine Daten in den Zeilen. Dies würde als leer betrachtet werden. Wenn Sie die Methode is empty verwenden, wird geprüft, ob der
Datenrahmen Zeilen enthält. Wenn der Datenrahmen keine Zeilen enthält, wird true zurückgegeben,
was bedeutet, dass der
Datenrahmen leer ist. Wenn der Datenrahmen
eine oder mehrere Zeilen enthält, wird False zurückgegeben,
was bedeutet, dass der
Datenrahmen nicht leer ist. Diese Methode ist besonders
nützlich in Situationen, in denen Sie möglicherweise einige
Operationen an einem Datenrahmen ausführen möchten , jedoch nur, wenn dieser Daten enthält. Bevor Sie beispielsweise
eine komplexe Berechnung
oder Datentransformation durchführen , Sie sicherstellen, dass
der Datenrahmen tatsächlich Daten
enthält, mit denen Sie arbeiten können . Dadurch können Fehler oder unnötige Berechnungen
bei einem leeren Datensatz Diese einzigartige Methode für
Polarwerte wird verwendet, um zu überprüfen, ob die Werte in einer
bestimmten Spalte eindeutig sind Wenn Sie eine eindeutige Methode
für eine Spalte in einem
Polardatenrahmen aufrufen , überprüft
sie, ob alle Werte in dieser Spalte eindeutig sind Die Methode gibt „
true“ zurück, wenn jeder Wert in der Spalte eindeutig ist, und “ zurück, wenn Werte wiederholt
werden Sie hilft bei der Bereinigung
oder Validierung Daten, bevor
Aufgaben wie Analysen, Zusammenführen von Datensätzen oder Hier habe ich den Filter erneut verwendet, um eindeutige Werte zu
erhalten, anstatt nur oder falsch Ports bietet auch eine
einzigartige Methode, bei der die Anzahl der
eindeutigen Werte in einer
Reihe oder einem Datenrahmen gezählt wird. Sie gibt eine Ganzzahl zurück , die die Anzahl
der Einzelwerte darstellt. Bei Anwendung auf eine Spalte gibt unique die
Gesamtzahl der unterschiedlichen
Werte in dieser Spalte zurück . Wenn es auf einen Datenrahmen angewendet wird, zählt
es in der Regel
eindeutige Werte für jede Spalte separat. Und eine einzigartige Methode ist
hilfreich bei der Analyse von Daten, um ihre
Vielfalt oder Verbreitung zu verstehen. Sie kann verwendet werden, um
doppelte Werte zu erkennen. Überprüfen Sie beispielsweise, wie
viele verschiedene Kunden-IDs, Produktnamen oder
Benutzer-E-Mails in einem Datensatz vorhanden sind. Es hilft bei der Datenvalidierung und
stellt sicher, dass eine
Spalte, die
eindeutige Werte haben soll , keine
unerwarteten Duplikate enthält Die Nullzählungsmethode und
Polarwerte werden verwendet, um
die Anzahl der fehlenden Werte in einer Spalte oder einem
gesamten Datenrahmen Wenn sie auf eine Spalte angewendet wird, gibt
sie die Gesamtzahl der
Nullwerte in dieser Spalte zurück Nullwerte in dieser Spalte Wenn ich es für einen Datenrahmen verwende, zählt
es normalerweise Nullwerte für jede Spalte separat. Fehlende Werte können zu
Problemen bei Berechnungen führen. also wissen, wie viele Nullwerte existieren, können Sie leichter entscheiden,
wie mit ihnen umgegangen werden soll. Wenn eine Spalte, die
immer Daten enthalten sollte, Nullwerte enthält, kann
dies auf
Dateneingabefehler hinweisen. Viele Modelle für maschinelles Lernen können fehlende
Daten nicht direkt verarbeiten. Zählen von Nullwerten ist also der erste Schritt bei der Entscheidung,
wie sie gefüllt oder entfernt werden sollen. Die Zählmethode in Polaren wird
verwendet, um die Anzahl der Nicht-Null-Werte in einer Spalte
oder einem gesamten Datenrahmen Auf diese Weise können Sie schnell feststellen, wie viele tatsächlich nicht fehlende
Werte in Ihrem Datensatz vorhanden sind Wenn ich diese
Methode auf eine Spalte anwende, gibt
sie die Gesamtzahl
der Nicht-Null-Werte
in dieser Spalte zurück . Wenn ich sie für einen Datenrahmen verwende, zählt
sie normalerweise
die Nicht-Null-Werte für jede Spalte separat. Es hilft zu bestimmen,
wie viele nutzbare Daten in jeder Spalte verfügbar sind. Anzahl der Nullwerte
mit der Gesamtzahl der Zeilen vergleichen , können
Sie feststellen, wie viele
fehlende Werte vorhanden sind. Viele Datenverarbeitungsschritte
erfordern Werte, die nicht Null sind. Zu wissen, wie viele
gültige Einträge
vorhanden sind, hilft also bei der
Datenbereinigung und -verarbeitung. Die Methode des horizontalen Mittelwerts in
Polarwerten wird verwendet, um
die Mittel- oder Durchschnittswerte für
horizontale
Zeilen eines Datenrahmens zu berechnen die Mittel- oder Durchschnittswerte horizontale
Zeilen eines Datenrahmens Sie berechnet den Mittelwert für
jede Zeile einzeln, jede Zeile als
separate Wertesequenz
behandelt Diese Methode ist nützlich, um Daten
zusammenzufassen und
Einblicke in die Verteilung und Eigenschaften von
Werten innerhalb eines Um die Minimal- oder
Maximalwerte in einem Datenrahmen zu ermitteln, können
Sie Methoden
wie Mean und Max verwenden Die Mittelwertfunktion gibt in
allen numerischen Spalten
im Datenrahmen den Minimalwert zurück allen numerischen Spalten
im Datenrahmen den Minimalwert allen numerischen Spalten
im Datenrahmen den Die Max-Funktion ermittelt die Maximalwerte für
alle numerischen Spalten. Diese Funktionen funktionieren nicht
nur mit numerischen Daten, sondern auch mit anderen
Datentypen wie Zeichenketten oder Datumsangaben. Die Produktfunktion in Polarwerten wird verwendet, um
das Produkt
aller Werte in einer Spalte oder
Reihe oder mehrerer
Spalten in einem Datenrahmen zu berechnen aller Werte in einer Spalte oder
Reihe oder mehrerer
Spalten in einem Datenrahmen Das heißt, sie multipliziert alle Werte miteinander
und gibt das Ergebnis zurück Wenn es auf eine Spalte angewendet wird, gibt
es eine einzelne Zahl zurück die das Produkt
aller Werte in dieser Spalte
darstellt Für einen Datenrahmen berechnet es das Produkt für jede
numerische Spalte separat. Es ist sehr nützlich für
mathematische Berechnungen, Finanzanalysen
und Datenvalidierung Wenn Sie die
Streuung oder die quadratische Abweichung
von Werten von ihrem Mittelwert
in jeder numerischen Spalte schätzen möchten, können
Sie die Funktion var verwenden Sie misst, wie stark die Werte in einer Spalte im
Durchschnitt vom Mittelwert
abweichen Es wird häufig in
statistischen Analysen verwendet, um die Verteilung
und Variabilität von Daten zu verstehen Die SDD-Funktion berechnet die Standardabweichung der Werte in jeder Spalte
eines Datenrahmens Diese Funktion gibt eine Reihe zurück die die
Standardabweichung für jede Spalte
enthält Eine niedrige Standardabweichung bedeutet, dass die Werte
nahe am Mittelwert liegen, während eine hohe
Standardabweichung bedeutet , dass die Werte über einen weiten Bereich
verteilt sind.
6. Polars DataFrame-Methoden erkunden: Flags, Schema, Spaltenoperationen und Datenkonvertierungstechniken: Die Flag-Funktion
und Polars geben
ein Wörterbuch mit Flags für jede
Spalte im Datenrahmen zurück ein Wörterbuch mit Flags für jede
Spalte im Jedem Flag wird
ein boolescher Wert angezeigt, der angibt, ob das Flag für diese Spalte gesetzt
ist Ich sehe hier zum Beispiel
sortierte Flags, aber wenn ich überprüfen möchte,
ob eine Spalte eindeutig ist, kann
ich diese eindeutige Funktion verwenden Diese einzigartige Funktion
gibt einen booleschen Wert zurück. True, wenn alle Werte in den angegebenen
Spalten eindeutig sind,
keine Duplikate, und falsch wenn doppelte Werte vorhanden
sind Und hier überprüfe ich, ob die eindeutige Spalte in meinem Datenrahmen
nur eindeutige Werte enthält oder nicht Im ersten Fall habe ich geprüft, eindeutige
Werte in der Spalte vorhanden sind, ob sie überhaupt existieren. Und dann haben wir herausgefunden, ob die Spalte
ausschließlich aus eindeutigen Werten besteht. Und wie wir sehen können,
gibt es keine eindeutigen Werte, und die Spalte ist nicht
mit der eindeutigen Flagge gekennzeichnet. Um die Liste der
Spaltennamen im Datenrahmen abzurufen, können
Sie die Columns-Methode verwenden. Sie gibt eine Liste von
Zeichenfolgen zurück , wobei jede Zeichenfolge der Name einer Spalte
ist. Dies ist nützlich, um schnell die Struktur
des Datenrahmens zu
überprüfen und zu verstehen
, welche Spalten für die Analyse
oder Verarbeitung
verfügbar sind . Das Schema eines Datenrahmens
bezieht sich auf seine Struktur, insbesondere auf die
Spaltennamen und ihre Datentypen. Für das Verständnis von Polar ist
das Schema wichtig, weil es Ihnen hilft, zu wissen mit
welcher Art von Daten
Sie arbeiten Das Schema enthält die Namen aller Spalten
im Datenrahmen, sodass Sie schnell
erkennen können, welche Daten verfügbar sind Jede Spalte im
Datenrahmen hat einen Datentyp, und es
ist auch wichtig, die Datentypen zu kennen, da einige Operationen nur für bestimmte Datentypen funktionieren
. Schema hilft also dabei, zu überprüfen, ob die Daten das
richtige Format bevor Operationen ausgeführt werden. Einige Operationen können fehlschlagen , wenn die Datentypen falsch sind. Eine
vorherige Überprüfung des Schemas kann also Fehler verhindern. Die Breitenmethode
in Polaren wird verwendet , um herauszufinden, wie viele Spalten in einem Datenrahmen
dargestellt werden Dies ist nützlich, wenn Sie
mit großen Datensätzen arbeiten. Wo manuelles Zählen von
Spalten unpraktisch ist. So können Sie schnell überprüfen wie viele verschiedene
Datenfelder in Ihrem Datensatz vorhanden sind Es kann auch bei der Arbeit
mit dynamischen Datensätzen hilfreich sein. Die Anzahl der
Spalten zu kennen, kann bei Aufgaben wie dem Durchlaufen von Spalten
oder der Auswahl bestimmter Spalten Die Glimpse-Methode in Polarwerten wird verwendet, um eine Vorschau einer Zusammenfassung
Ihres Datenrahmens anzuzeigen, sodass Sie sich einen schnellen Überblick über die Datenstruktur
verschaffen ist hilfreich, wenn Sie
das allgemeine Layout Ihrer Daten verstehen
möchten das allgemeine Layout Ihrer Daten ohne den gesamten Datensatz anzeigen zu müssen,
insbesondere bei
der Arbeit
mit großen Glimse-Methode bietet einen
kompakten Überblick über den Datenrahmen, einschließlich Spaltennamen,
Datentypen jeder Spalte einer Vorschau der ersten
Werte in Diese Methode zeigt nicht
den gesamten Datensatz an, sondern bietet stattdessen
eine kurze Momentaufnahme, sodass Sie die
Datenstruktur auf einen Blick verstehen können So können Sie schnell überprüfen,
welche Daten verfügbar sind, welche Spalten es gibt
und mit welchen
Datentypen Sie arbeiten,
ohne alles anzuzeigen. Es hilft Ihnen auch, sich nicht mit
großen Datenmengen zu
überfordern , indem nur einen kleinen
zusammengefassten Teil anzeigen. erkennen wie unerwartete Datentypen, fehlende Werte oder
Inkonsistenzen diesem kurzen Überblick können Sie auch
potenzielle Probleme
wie unerwartete Datentypen,
fehlende Werte oder
Inkonsistenzen
bei den Spaltennamen Die Methode N Chunks in
Polarwerten wird verwendet, um herauszufinden, wie viele Blöcke ein Datenrahmen intern Bei Polarwerten können Daten für eine
effizientere Verarbeitung
in Blöcke aufgeteilt werden ,
insbesondere wenn mit
großen Datensätzen gearbeitet wird, insbesondere wenn mit
großen Datensätzen gearbeitet die Ein Chunk ist ein kleinerer Teil
des gesamten Datenrahmens. Polars teilt
große Datensätze häufig in Blöcke auf, um sie im Speicher effektiver verarbeiten zu können Jeder Block kann separat
verarbeitet werden,
sodass Polars mit Datensätzen
arbeiten können, die zu groß sind
, um auf einmal vollständig in den Speicher zu passen Dies ist Teil des
effizienten
Speicherverwaltungssystems von Polar effizienten
Speicherverwaltungssystems Wenn du die Methode
N Chunks verwendest, gibt
sie die Anzahl
der Chunks zurück, in die unser Datenrahmen zur Verarbeitung
aufgeteilt wurde Dies kann nützlich sein, um zu
verstehen, wie Polars den Speicher
und die Datenverteilung
für Ihren spezifischen Datenrahmen
verwaltet für In einigen Fällen hilft Ihnen
das Verständnis der Datenaufteilung dabei, hilft Ihnen
das Verständnis der Datenaufteilung überwachen und zu debuggen, wie Polars mit Daten in Ihrem Programm umgeht. Wenn ein Datenrahmen eine
große Anzahl von Chunks enthält, Operationen
möglicherweise weniger effizient als wenn die Daten
in einem einzigen Block gespeichert ist es wichtig, Chunks zu verstehen Bei Die Funktion „Zwei Pfeile“
und „Polars“ werden verwendet, um einen Polardatenrahmen
in eine Pache-Pfeiltabelle umzuwandeln Dies ist nützlich für die
Dateninteroperabilität , da Apache Arrow ein weit verbreitetes Format für effizienten Datenaustausch zwischen verschiedenen
Datenverarbeitungssystemen Apache Arrow ist ein
spaltenförmiges Speicherformat für eine schnelle
Datenverarbeitung
entwickelt wurde Es ermöglicht verschiedenen
Datenverarbeitungstools wie Pandas oder Spark , Daten
effizient auszutauschen,
ohne sie mehrmals kopieren oder konvertieren zu müssen Wenn Sie die Funktion mit zwei Pfeilen verwenden, wandelt
Poller's sein
internes Datenformat in eine Patch-Pfeiltabelle um, wobei die Spaltenstruktur
beibehalten Sie trägt zu schnellerem
Datenaustausch, effizienter Speichernutzung
und besserer Kompatibilität Polars bietet auch
die Funktion Two DigT, die einen Datenrahmen oder eine
Datenreihe in ein Python-Wörterbuch konvertiert Datenreihe in ein Python-Wörterbuch Jede Spalte im
Datenrahmen wird zu einem Schlüssel im Wörterbuch mit
entsprechenden Werten bildet eine Liste für diesen Schlüssel Wir haben auch zwei Dicts-Methoden. In Polarform konvertiert es einen Datenrahmen in eine
Liste von Viele Python-Funktionen und -Bibliotheken funktionieren gut mit
Wörterbuchlisten Wenn Sie beispielsweise Ihre Daten
in das JSON-Format
konvertieren müssen , können
diese ein hilfreicher
Zwischenschritt sein, da eine Liste von Wörterbüchern
leicht in JSON serialisierbar Wenn Sie aus irgendeinem Grund
eine Zeichenkettendarstellung
des Datenrahmens benötigen , können
Sie die Darstellungsmethode mit zwei N verwenden Dies ist besonders nützlich beim Debuggen oder für Szenarien,
in denen Sie Code
generieren müssen , der diesen
Datenrahmen exakt so
reproduzieren kann , wie er ist Kann auch die Zwei-Napi-Methode verwenden, die den
Polardatenrahmen in ein NumPy-Array konvertiert Dies ist nützlich, wenn
Sie die leistungsstarken
Array-Manipulations- und
mathematischen Funktionen von Napi nutzen müssen leistungsstarken
Array-Manipulations- und
mathematischen Funktionen von Napi . Da Napi-Arrays für
numerische Berechnungen
sehr effizient sind , ist
diese Methode von Vorteil, wenn
Operationen ausgeführt werden, die von Nam Pi
besser bewältigt werden können Das Gleiche kann ich über die Methode
der zwei Pandas sagen. Es konvertiert den polaren
Datenrahmen in den Datenrahmen von Panda. Dies ist nützlich, wenn
Sie
Pandas-spezifische Funktionen verwenden möchten oder wenn Sie in einem
Ökosystem arbeiten, in dem
Pandas das primäre Datenmanipulationstool ist Die Two-Torch-Methode konvertiert einen polaren Datenrahmen in einen
Pytorch-Tensor Dies ist ideal für die Vorbereitung von Daten
für Deep-Learning-Modelle in Da ich
diese Bibliothek jedoch nicht installiert habe, stoße
ich auf einen Fehler Wir können diese
Bibliothek mit diesem Befehl installieren, aber im Moment brauchen wir sie nicht, also lasse ich sie so wie sie ist.
7. Datenmanipulation in Polars für Fortgeschrittene: Gruppierung, Aggregation, Sortieren und benutzerdefinierte Transformation: Fahren wir nun mit der Methode
der Gruppe B fort. Wenn Sie schon einmal
mit Pandas gearbeitet haben, kennen
Sie diese Methode wahrscheinlich Wenn nicht, finden Sie hier eine
kurze Erklärung. Die Methode Gruppe B
in Polaren wird verwendet, um einen Datenrahmen nach einer oder
mehreren Spalten zu gruppieren In unserem Fall bedeutet die Gruppierung nach
der Jahresspalte, dass alle Zeilen mit demselben Wert in der Jahresspalte zusammen gruppiert
werden Jedes einzelne Jahr
bildet eine separate Gruppe. In unserem Fall haben
wir jedoch nur ein Jahr 2022. Als Nächstes verwenden wir Aggregation. Die Methode und die Polarwerte werden
verwendet, um
aggregierte Berechnungen für Datengruppen innerhalb
eines Datenrahmens durchzuführen aggregierte Berechnungen für Datengruppen innerhalb
eines Datenrahmens Anschließend geben wir die Spalte Bit an und wenden die
Zählfunktion Das bedeutet, dass
wir für jede Gruppe die Anzahl der
Vorkommen der Bitspalte Im Wesentlichen wird dabei
die Anzahl der Zeilen in
jeder Gruppe gezählt , da jede Zeile einen Vorfall
darstellt Dann verwenden wir die Alias-Funktion. Um die
resultierende Spalte aus
der Aggregation umzubenennen , um Vorfälle zu
zählen Dies geschieht, um
der aggregierten Spalte
einen aussagekräftigen Namen zu geben der aggregierten Spalte
einen aussagekräftigen Theoretisch können wir diese
Funktion verwenden, um
Daten zusammenzufassen und die
Häufigkeit von Vorfällen pro Jahr zu verstehen Da unser Datensatz jedoch nur
ein Jahr enthält, sehen
wir nur die Anzahl
der Vorfälle für 2022 Lassen Sie uns nun ein anderes
Beispiel betrachten, wenn ich nach Jahren gruppiere. Aber anstatt eine
Aggregationsfunktion zu verwenden, verwende
ich die L-Methode Die OL-Methode behält alle
Zeilen innerhalb jeder Gruppe bei. Die Trennung ist
nützlich, wenn Sie mit allen
Datenpunkten innerhalb jeder Gruppe
arbeiten müssen mit allen
Datenpunkten innerhalb jeder Gruppe
arbeiten ohne eine Aggregation oder
Transformation durchzuführen , die
den Datensatz reduziert In einigen Fällen, wenn Sie sich einen schnellen Überblick über jede Gruppe verschaffen möchten , können
Sie die erste
Methode anstelle
von allen verwenden Dies ist nützlich, wenn
Sie
Stichprobendatenpunkte
aus jeder Gruppe extrahieren oder den Datenrahmen für weitere
Analysen oder Berichte auf eine Zeile
pro Gruppe
reduzieren möchten. Ich habe nicht das beste
Beispiel dafür, also lassen Sie uns stattdessen nach
primärem Typ gruppieren. Das macht es klarer. Hier sehen wir die erste
Zeile für jede Gruppe. In unserem Fall die Spalte mit dem
primären Typ. Die letzte Methode funktioniert
fast genauso außer dass sie nur die
letzte Zeile für jede Gruppe zurückgibt. Jetzt möchte ich
eine benutzerdefinierte Funktion definieren, um den Prozentsatz
der Verhaftungen zu berechnen. Zuerst berechne ich die Gesamtzahl der Fälle, indem ich die
Länge des Datenrahmens berechne. Dann ermittele ich die Anzahl der Verhaftungsfälle, indem ich die Spalte mit
den Festnahmen zusammenfasse Als Nächstes berechne ich den Prozentsatz der
Festnahmen, indem die Anzahl der
Verhaftungen durch die
Gesamtzahl der Fälle
dividiere Verhaftungen durch die
Gesamtzahl der Fälle Schließlich gebe ich den
Datenrahmen mit dem Ergebnis zurück. Dieser Code gruppiert die
Daten nach Primärtyp und berechnet den Prozentsatz der
Festnahmen für jede Art von Straftat Anhand des Ergebnisses
können wir erkennen, bei welchen Arten von Verbrechen die Verhaftungsraten höher oder
niedriger sind Nachdem wir
diese Funktion erstellt haben , ist es an der
Zeit, sie zu verwenden. Eine sehr nützliche Methode
dafür sind Nab Groups. Diese Methode verwendet die
gruppierten Daten als Eingabe, wendet die benutzerdefinierte
Funktion auf jede Gruppe und gibt dann
einen neuen Datenrahmen
mit dem Ergebnis
dieser Operation zurück mit dem Ergebnis
dieser Operation In diesem Fall gruppieren wir
den Datenrahmen nach der
Spalte mit dem primären Typ und wenden dann unsere benutzerdefinierte
Funktion zum Festsetzen des Prozentsatzes auf jede Gruppe an. Diese Funktion
verarbeitet jede Gruppe unabhängig und kann
jede erforderliche benutzerdefinierte Logik ausführen. Das Ergebnis ist ein neuer
Datenrahmen, in dem jede Zeile
das Ergebnis der Anwendung
der
Arrest-Prozentsatzfunktion auf jede Gruppe enthält das Ergebnis der Anwendung
der . Es gibt auch eine Apply-Funktion, die eine benutzerdefinierte
oder benutzerdefinierte Funktion
in einer Gruppe nach Kontext anwendet . Sie ist
jedoch veraltet
und wurde in Map-Gruppen umbenannt Wenn Sie also die Apply-Funktion
in
älterem Code sehen , lassen Sie sich nicht verwirren Es ist nur eine veraltete Version. Sie kennen wahrscheinlich die Head-Funktion
,
mit der Sie
die ersten
Zeilen eines Datenrahmens sehen können. Betrachten wir jedoch
eine weitere nützliche Funktion, die Funktion tail. Nehmen wir an, ich möchte nur
die letzten Zeilen jeder Gruppe sehen. Die Verwendung der Tail-Methode innerhalb
einer Gruppe ermöglicht es uns, uns
auf die neuesten oder letzten
Einträge für jede Kategorie zu konzentrieren . Dies kann nützlich sein, um
die neuesten Fälle
in unserem Datensatz zu untersuchen . In diesem Fall Gramm, aber in anderen Fällen
kann es sich um jede Art von Daten handeln. Sie können
die Sortierfunktion auch verwenden nachdem Sie diese Operationen angewendet haben. Damit können Sie
die
extrahierten Einträge zur
besseren Lesbarkeit
oder
zur weiteren Analyse nach einer bestimmten Spalte sortieren die
extrahierten Einträge zur
besseren Lesbarkeit
oder
zur weiteren Analyse nach einer bestimmten Spalte , z. B. nach einem Community-Bereich besseren Lesbarkeit
oder
zur weiteren Analyse Also, was haben wir hier gemacht? Wir haben nach Primärtyp gruppiert. Wir haben die letzte
Zeile für jede Gruppe ausgewählt und die Daten nach Community-Bereichen
sortiert. Die Reihenfolge der Operationen
hilft bei
der Analyse der neuesten Einträge
und verbessert gleichzeitig die Lesbarkeit
8. Erweiterte Datenoperationen in Polars: write_csv, Pivot-Tabellen und Join Strategies: Für das nächste Beispiel
benötige ich zwei Datenrahmen. Verbinden von Datenrahmen ist eine übliche Operation bei der
Datenmanipulation, bei Zeilen aus zwei oder
mehr Datenrahmen auf der Grundlage gemeinsamer Spalten kombiniert
werden. Polars bietet verschiedene
Arten von Verknüpfungen, ähnlich wie Verknüpfungen im SQL-Stil Lassen Sie uns beide Datenrahmen drucken und mit dem inneren Join beginnen Ich nehme meinen ersten Datenrahmen
und verwende die Join-Funktion. Dann spezifiziere ich den
zweiten Datenrahmen , den ich
mit dem ersten verbinden möchte. Als Nächstes definiere ich die
Spalte, mit der eine Verbindung hergestellt werden soll. Dies kann ein einzelner Spaltenname oder eine Liste von Spaltennamen sein. In meinem Fall ist es der Name. Schließlich spezifiziere ich
die Art der Verknüpfung
, bei der es sich in unserem Fall um eine innere Verknüpfung
handelt. Entschuldigung für den Tippfehler. Das
bedeutet, dass nur Zeilen mit übereinstimmenden Schlüsseln in beiden Datenrahmen im Ergebnis
erscheinen Wir sehen, dass sowohl Bob als auch Charlie
in beiden Datenrahmen vorhanden sind, also sehen wir sie in unserem Ergebnis. Versuchen wir es jetzt mit einem Links-Join. Das bedeutet, dass alle Zeilen
aus dem linken Datenrahmen und nur die passenden Zeilen aus dem rechten Datenrahmen
im Ergebnis enthalten sind. Und wir können sehen, dass alle Namen
und alle Informationen aus dem linken Datenrahmen in
unserem Ergebnis und aus
dem rechten Datenrahmen,
in unserem Fall dem
zweiten Datenrahmen, erschienen unserem Ergebnis und aus
dem rechten Datenrahmen, sind. Wir können nur zwei Namen sehen, Bob und Charlie, die in beiden Datenrahmen
vorhanden sind. Bei einer vollständigen Zeichnung werden alle Zeilen aus beiden
Datenrahmen
im Ergebnis ohne Werte angezeigt ,
sofern es keine Übereinstimmungen gibt. Und hier können wir die
Nullen im Ergebnis sehen. Wir haben auch Cross Join. Es gibt alle möglichen
Kombinationen von
Zeilen aus beiden Datenrahmen zurück ,
ein kartesisches Produkt Jede Zeile von links wird mit jeder
Zeile von rechts
kombiniert Und um Ihnen alle
Arten von Joins zu zeigen, möchte
ich
Ihnen auch den Semi-Join erklären. Es werden nur Zeilen aus
dem linken Datenrahmen zurückgegeben , die
übereinstimmende Schlüssel im
rechten Datenrahmen haben . Sie fragen mich vielleicht,
was der Unterschied zwischen Inner Join und Semijoin Wir haben fast das Gleiche. Sowohl Inner Join Semijoin geben Zeilen zurück, in denen es eine Übereinstimmung
zwischen zwei Tabellen gibt, aber sie haben einen wesentlichen Unterschied Inner Join gibt alle übereinstimmenden
Zeilen aus beiden Tabellen zurück, einschließlich Spalten aus beiden Semijoin gibt
nur die Zeilen aus
der linken Tabelle zurück , die eine
Übereinstimmung in der rechten Tabelle aufweisen, schließt
jedoch keine Spalten
aus der rechten Tabelle Sie können also zwar dieselbe Anzahl von Zeilen zurückgeben
,
der innere Join schließt zusätzliche Spalten
aus der rechten Tabelle ein, wohingegen der Semijoin
nur die ursprünglichen Spalten
aus der linken Tabelle beibehält nur die ursprünglichen Spalten
aus der linken Und wir haben Antidow. Es handelt sich um eine Art von
Join-Operation der
Zeilen aus dem linken
Datenrahmen nur dann
in das Ergebnis aufgenommen werden , wenn es
im rechten Datenrahmen
keinen passenden Schlüssel gibt im rechten Datenrahmen
keinen passenden Schlüssel Im Wesentlichen werden
alle Zeilen aus dem linken
Datensatz herausgefiltert, für die
eine entsprechende Übereinstimmung im rechten Datensatz auf
der Grundlage eines
bestimmten Schlüssels oder einer bestimmten Spalte vorhanden ist. Falls Sie bemerkt haben, verwende ich
häufig Tap, um zu vermeiden, bestehende
Variablen wiederholt
manuell eingegeben werden. Drücken Sie die obere Taste und das
Dutra-Notizbuch
schlägt die Variable zur Auswahl vor,
anstatt sie manuell einzugeben Fahren wir
mit Pivot-Tabellen fort. Dafür werde ich meinen Datenrahmen leicht
ändern. Wenn Sie schon einmal
mit Pandas gearbeitet haben, wissen
Sie wahrscheinlich, was es ist Wenn nicht,
können Sie mit Pivot-Operationen Ihre Daten
umformen, indem Sie
sie auf der
Grundlage einer bestimmten
Aggregationsfunktion auf unterschiedliche Weise zusammenfassen Grundlage einer bestimmten
Aggregationsfunktion auf Hier zeige ich Ihnen, wie Sie meinen kürzlich
erstellten
Datenrahmen umformen Ich gebe die
Werte als Pivot an, und in meinem Fall wird es die Score-Spalte
sein Dann gebe ich an, dass die Zeilen
der neuen Pivot-Tabelle anhand der Namensspalte
indexiert werden Ich werde auch die Spalte City verwenden, die als Grundlage für
die neue
Spalte der Pivot-Tabelle dienen wird Grundlage für
die neue
Spalte der Pivot-Tabelle Für die
Aggregationsfunktion werde ich zuerst verwenden. Das heißt, wenn es mehrere
Werte für eine bestimmte Kombination
aus Name und Stadt gibt, wird
nur der erste
Wert verwendet Der resultierende Datenrahmen wird eindeutige Namenswerte als
Indexzeilen und eindeutige
Stadtwerte in den Spalten
haben . Nullwerte in der Pivot-Tabelle
weisen darauf hin, dass es im ursprünglichen
Datenrahmen für diese Zellen
keine übereinstimmenden Kombinationen
aus Name und
Stadt gab keine übereinstimmenden Kombinationen
aus Name und . Trotz der Tatsache, dass
wir zwei Bobs haben, bekommen
wir nur den ersten mit
einer Punktzahl von 90. Als Nächstes werde ich die
Aggregationsfunktion auf Summe ändern. Und jetzt erhalten wir die Summe der
Punktzahlen für die beiden Bobs, zwei Charlis und so weiter Ich füge eine Zeile unter unserem Datenrahmen hinzu, um
die aktualisierten Ergebnisse anzuzeigen Und natürlich ist die Summe 160. Wir können sehen, dass der erste
Bob eine Punktzahl von 90 hat. Der zweite Bob hat
eine Punktzahl von 70. Das Gleiche gilt für Frank
und die anderen Namen. Die Mittelwertfunktion zeigt den durchschnittlichen Quadratwert für jede Kombination aus Name und Stadt. Die Max-Funktion zeigt
den maximalen Punktewert an. Wir können auch den
Durchschnitts- oder Medianwert der Punktzahl berechnen. In diesem Fall
sehen wir keinen Unterschied zwischen dem Median und dem Mittelwert weil unser Datenrahmen
nicht das beste Beispiel ist, aber sie repräsentieren verschiedene Aspekte der Datenverteilung Der Mittelwert stellt
den Durchschnittswert des Datensatzes dar und
eignet sich für symmetrisch
verteilte Daten ohne Der Median
ist dagegen der mittlere Wert eines Datensatzes, ist dagegen der mittlere Wert eines Datensatzes wenn er vom
kleinsten zum größten Wert geordnet Der Median eignet sich eher für schiefe oder nicht
normalverteilte Daten Für das nächste Beispiel benötige ich
zwei verschiedene Datenrahmen. Ich werde den ersten kopieren
und ein paar Änderungen vornehmen. In Pullern können wir
zwei Datenrahmen vergleichen, um zu überprüfen,
ob sie gleich sind Wir können überprüfen, ob beide
Datenrahmen genau übereinstimmen. Wenn beide Datenrahmen dasselbe Schema
hatten, d. h. dieselben
Spaltennamen und Datentypen
sowie dieselben Daten in
jeder entsprechenden
Spalte in der Zeile, der Vergleich
Bull und den Wert true zurück, was darauf hinweist, dass
beide Datenrahmen in Bezug auf Schema und Daten
identisch sind . Oder falsch, wenn es
einen Unterschied im
Schema oder in den Daten zwischen
diesen beiden Datenrahmen gibt. Im ersten Beispiel vergleiche ich zwei verschiedene
Datenrahmen und habe „Falsch“ erhalten. Dann vergleiche ich zwei
identische Datenrahmen, dieselben Datenrahmen,
und habe den Wert „Wahr“ erhalten, was Sinn macht, da
sie genau identisch sind. Wenn ich die Änderungen rückgängig mache, die ich am zweiten Datenrahmen vorgenommen
habe, bleiben
uns wieder zwei
identische Datenrahmen übrig, sowohl in Bezug auf das
Schema als auch auf die Daten, und die Funktion gibt true zurück. Mithilfe der Equals-Funktion
können Sie überprüfen, ob zwei Datenrahmen vollständig identisch
sind ist für
Datenvalidierungs- und Testzwecke nützlich Sie können einen Datenrahmen mithilfe der CSV-Methode in
einer CSV-Datei speichern mithilfe der CSV-Methode in
einer CSV-Datei Wenn ich beispielsweise
unseren Datenrahmen in einer
Datei mit dem Namen Data CSV speichern möchte , kann
ich das mit
einem einzigen Befehl tun. Nachdem wir den LS-Befehl ausgeführt
haben, können wir sehen, dass die Datei erfolgreich erstellt
wurde. Speichern eines Datenrahmens in
einer CSV-Datei ist sehr hilfreich, wenn Sie Daten für die spätere Verwendung
speichern müssen, um sie
leichter zu
teilen oder neu zu laden CSV-Dateien werden weitgehend unterstützt und können von
vielen Softwareprogrammen geöffnet werden
9. Verständnis der eifrigen und faulen Ausführung in Polar: Ein Geschwindigkeitsvergleich mit Pandas für Large DataFrames: Polars bietet zwei
Ausführungsmodelle für Datenrahmenoperationen im
Iger-Modus zu verstehen Für die Leistungsoptimierung ist es entscheidend, den
Unterschied zwischen
diesen beiden Modellen Fangen wir
mit dem Iger-Modus an. Operationen an einem Datenrahmen
werden sofort ausgeführt. Das Ergebnis wird berechnet und zurückgegeben, sobald eine
Operation aufgerufen wird Das bedeutet, dass
jeder Schritt, den Sie sofort
und sequentiell ausgeführt
wird Dieser Modus ist einfacher
zu debuggen, da Sie das Ergebnis
jeder Operation sofort sehen können Der Eager-Modus wird in interaktiven
Umgebungen wie
Jupra Notebook häufig bevorzugt , da
Sie damit das Ergebnis von
Vorgängen sofort sehen können Sie damit das Ergebnis von
Vorgängen sofort sehen Er eignet sich am besten für
interaktive Datenanalysen und kleinere Datensätze, bei denen
sofortiges Feedback erforderlich ist Fahren wir mit dem Lazy Mode fort. Anstatt
Operationen sofort auszuführen, erstellt und
optimiert
Polars
vor der Ausführung zunächst einen Abfrageplan Dieser Ansatz ermöglicht es Polars , den Ausführungsplan zu optimieren so die Anzahl
der Operationen
und die Menge der
verarbeiteten Daten zu reduzieren und die Menge der
verarbeiteten Daten Lazy Molten Polars bezieht sich
auf eine Art der Durchführung von Datenoperationen,
bei der Berechnungen werden Stattdessen
werden Operationen verzögert und nur ausgeführt, wenn Sie das Ergebnis
explizit anfordern Dieser Ansatz ermöglicht es
Polaren,
die Reihenfolge der Operationen zu optimieren die Reihenfolge der Operationen bevor sie tatsächlich ausgeführt werden, wodurch die Leistung verbessert wird,
insbesondere bei großen Datensätzen Der Lazy-Modus eignet sich im Allgemeinen
am besten für große Datensätze oder Workflows
, die viele Schritte umfassen Die angewendete Optimierung
kann im Vergleich zur eifrigen Ausführung zu
erheblichen
Leistungsverbesserungen führen erheblichen
Leistungsverbesserungen eifrigen Ausführung zu
erheblichen
Leistungsverbesserungen Ich denke, die Funktion
erreicht Vans Kansas, wir erklären uns ziemlich selbsterklärend Aber ich werde A kurz erklären.
Die Funktion „A lesen“
in Polars wird verwendet, um Daten aus einer A-Datei
in einen Polardatenrahmen zu
lesen Park ist ein spaltenförmiges
Speicherdateiformat, das für die Verwendung mit
Datenverarbeitungs-Frameworks
optimiert Im Gegensatz zu zeilenbasierten
Formaten wie CSV speichert
Park Daten in
Spalten statt in Zeilen, was es sowohl
für die Speicherung als auch für die Verarbeitung hocheffizient macht sowohl
für die Speicherung als auch für die Verarbeitung Das Spaltenformat ist
besonders nützlich, wenn Sie nur
bestimmte Spalten
aus großen Datensätzen lesen müssen ,
da Sie so vermeiden können, dass unnötige
Daten in den Speicher geladen Wenn Sie nur wenige
Spalten aus einem Datensatz benötigen, können Sie mit
Park nur die relevanten
Daten in den Speicher
laden, wodurch die Geschwindigkeit
verbessert und der Speicherverbrauch reduziert wird Big-Data-Anwendungen. Park ist eine hervorragende Wahl für
Big-Data-Anwendungen, insbesondere wenn Sie
Frameworks verwenden, die dies unterstützen, wie Apache Park,
Dusk oder Polars Lassen Sie uns nun die
Leistung beim Lesen von
CSV-Dateien mit Pandas
und Polaren vergleichen CSV-Dateien mit Pandas Wenn Sie sich erinnern, haben wir einen großen Datensatz mit über 100
Millionen Zeilen Also werde ich es benutzen. Zuerst importiere ich Pandas und
verwende die CSV-Lese-Funktion. Um die Ausführungszeit zu messen, verwende
ich den
Befehl Time it magic im Jupiter-Notizbuch diesem Befehl können wir die Ausführungszeit
messen und
Durchschnittsergebnisse über mehrere Durchläufe berechnen. Das Laden wird also
einige Zeit in Anspruch nehmen. Das nimmt wirklich viel Zeit in Anspruch. Ich möchte Sie daran erinnern
, dass der Datenrahmen mehr als 100 Millionen Zeilen
hat. Ausführung von Vorgängen
darauf nimmt also viel Zeit in Anspruch. Nachdem wir den
Code sieben Mal ausgeführt haben,
erhalten wir eine durchschnittliche
Ausführungszeit von 32 Sekunden pro Schleife. Lassen Sie uns nun die gleichen
Schritte wiederholen wie bei Pandas. Aber dieses Mal verwenden
wir Polare und nutzen die Zeit erneut, wir Polare und nutzen die Zeit erneut um zu sehen, wie lange es dauert
, den Datenrahmen zu laden Der Unterschied in der Ausführungszeit ist sofort spürbar Polar lädt den Datenrahmen
deutlich schneller. Ich habe den
vorherigen Ausdruck
der Variablen TF zugewiesen , damit wir mit dem geladenen Datenrahmen weiterarbeiten
können. Wir haben also gerade
mehr als 100 Millionen Zeilen sowohl
mit Pandas als auch mit Polaren gelesen mehr als 100 Millionen Zeilen sowohl
mit Pandas als auch mit Polaren Wenn wir uns den Datenrahmen ansehen, können
wir feststellen, dass einige der
Spalten bedeutungslos sind Um die Arbeit mit unseren Daten zu
vereinfachen, werde
ich sie umbenennen. Zuerst bereite ich eine Liste neuen Spaltennamen vor und verwende
dann die Umbenennungsfunktion, um die Spalten im
Polardatenrahmen
umzubenennen Jetzt können wir sehen, dass wir die Spaltennamen
umbenannt haben. Wir haben den Datensatz richtig
strukturiert, und ich werde mit
der Gruppierung des Datensatzes nach Einheiten
- und Ebenenspalten fortfahren der Gruppierung des Datensatzes nach Einheiten
- und Ebenenspalten Nach der Gruppierung führe ich
eine Aggregationsoperation die Zahlenspalte durch, indem die
Summe ihrer Werte
berechne Zuerst wähle ich die Spalte mit dem Namen Nummer aus
dem Datenrahmen aus Dann verwende ich eine
Aggregationsfunktion, die alle Werte
in dieser Spalte
summiert Anstatt
den Standardnamen beizubehalten, weise
ich der Ausgabespalte einen aussagekräftigeren
Namen zu Dafür verwende ich einen Alias. Für die Freizeit
berechne ich den Mittelwert. Für das Gehalt berechne ich
die Max-Funktion. Schließlich wähle ich
die erforderlichen Spalten aus dem
aggregierten Datenrahmen Die Auswahlmethode und die
Polarwerte werden verwendet, um
bestimmte Spalten auszuwählen und die
Transformation auf sie anzuwenden Es erstellt einen neuen Datenrahmen der nur die ausgewählten Spalten enthält, wobei der ursprüngliche
Datenrahmen unverändert bleibt Entschuldigung für den Tippfehler. Ich verwende die Druckfunktion, um
das Ergebnis zusammen mit
der Überschrift in einem
normalen Code-Editor anzuzeigen der Überschrift in einem
normalen Code-Editor Dies ist notwendig
, um die Ausgabe zu sehen. Im Gebr-Notizbuch müssen
Sie jedoch nicht drucken Sie können einfach den
Variablennamen pole result eingeben und das Ergebnis
wird automatisch interaktiv
angezeigt . Und hier sind wir. Jetzt verwende ich den
Befehl time it , um den
Code mehrmals auszuführen. Am Ende werden wir sehen, wie lange es dauert, die Operation
durchzuführen. Wir sehen, dass der Code mehrmals
ausgeführt wird. Und am Ende stellen wir fest,
dass es drei Ausweichmanöver gedauert hat, 83 Sekunden pro Schleife, oder ich kann sagen, pro Operation. Lassen Sie uns den gleichen
Vorgang mit Pandas wiederholen. Es dauert länger
als bei Polaren. Wir betrachten denselben
Datenrahmen und müssen die Spalten
umbenennen.
Also lass uns das machen. Der Befehl ist fast
derselbe wie bei Polaren, außer dass wir
zuerst die Spalten definieren und dann
die neuen Spaltennamen übergeben Jetzt können wir mit
der gleichen Gruppierung und
Aggregation wie oben fortfahren der gleichen Gruppierung und
Aggregation wie oben Wir können hier sehen, dass Pandas
ein Wörterbuch innerhalb der
Aggregationsfunktion verwendet ein Wörterbuch innerhalb der
Aggregationsfunktion um die
Spaltennamen und Operationen anzugeben Bei Polaren
wurde die Aggregation auf Spalten angewendet,
indem sie zuerst ausgewählt und dann Funktionen wie
Summe, Mittelwert und Box
verwendet In Polaren können Sie
ein Wörterbuch nicht direkt
in der Aggregationsfunktion verwenden in der Aggregationsfunktion genauso wie
in Pandas Polars müssen Sie
jeden Aggregationsvorgang
explizit für jede Spalte angeben , und Pandas bietet eine kürzere
Syntax für die Aggregation. Beide Ausdrücke
liefern das gleiche Ergebnis, aber die Syntax
unterscheidet sich zwischen
Pandas und Polaren geringfügig unterscheidet sich zwischen
Pandas und Polaren Ich empfehle dringend
, es selbst auszuprobieren. Pausiere das Video und wiederhole
diesen Code selbst. So sieht die
Abschlusstabelle aus. Jetzt werde ich time it
erneut verwenden , um den
Code mehrmals auszuführen. Und es wurde sieben Mal ausgeführt. Nach dem Ausführen sehen wir, dass es 7,34 Sekunden pro Schleife
gedauert hat. Wir können
den Unterschied deutlich erkennen. Wir müssen aber auch die Fälle
berücksichtigen, in denen wir diese Operationen
zusammen mit dem Lesen der Daten
durchführen. Ich werde den
Code nur ein bisschen umschreiben. Also werden wir die
CSV-Datei lesen und die Spalten umbenennen. Führen Sie die Gruppierung nach
Operation und Aggregation durch
und wählen Sie dann
bestimmte Spalten
in einer Kette aus, indem Sie die Verkettungssyntax der
Polar-Methode verwenden Das nimmt mehr Zeit in Anspruch. Und
jetzt dauerte es 11,8 Sekunden. Hier habe ich
den Code für Pandas neu geschrieben , um dasselbe zu tun Ich habe alle Schritte in
einer einzigen Zeile zusammengefasst , genau wie wir
es im obigen Polars-Code getan haben Auch ohne Zeitlimit führe ich es und meinem System geht der Speicher
aus Oh ja, mein System ist tot. Aber wir kriegen das
auch mit Pandas hin. Wenn wir anfangen, die
CSV-Datei in Stücken zu lesen, möchte ich Ihnen zeigen, wie wir mit dieser Situation
umgehen können Das Lesen der Datei in Blöcken
hilft bei der Verwaltung der Speichernutzung. Zuerst lege ich die Anzahl
der Zeilen fest, die gleichzeitig in den
Speicher gelesen werden sollen , indem ich die
Chunk-Größe festlege Dann initialisiere ich
einen leeren Datenrahmen , in dem die endgültigen
Aggregationsergebnisse
jedes Chunks gespeichert werden Aggregationsergebnisse Ich lese die CSV-Datei in Abschnitten
mithilfe der vier Schleifen,
benenne die Spalten um und
führe dieselbe Gruppierung
und Aggregation führe dieselbe Gruppierung
und Aggregation Am Ende kann ich die aggregierten Ergebnisse aus
jedem Block bis
zum endgültigen Datenrahmen zusammenfügen aggregierten Ergebnisse aus
jedem Block bis
zum endgültigen Datenrahmen jedem Außerdem habe ich Ignore Index verwendet. Stimmt. Das bedeutet, dass bei Operationen
wie der Verkettung die ursprünglichen Indexwerte ignoriert
werden und
dem Ergebnis der neue Standard-Integer-Index zugewiesen
wird Dies hilft, doppelte oder
nicht sequentielle Indexwerte
beim Ändern von Datenrahmen zu vermeiden beim Hier können wir
die Grenze nicht so durchbrechen. Also habe ich es für eine
bessere Lesbarkeit geändert. Es dauert einige Zeit, aber wir haben
endlich das Ergebnis. Um zu vermeiden, dass der Speicher knapp wird, können
wir MMIT verwenden, einen magischen Befehl aus dem Speicherprofilpaket Er misst
den Speicherverbrauch der
aktuellen Codeausführung und gibt Dies hilft bei der Überwachung der
Speichernutzung für jeden Block. In dieser Version
befindet sich MMIT vor dem Pre-Nt-Vorgang in der Form-Schleife Es wird in jeder
Iteration der Schleife ausgeführt. Dies ist nützlich, um die Arbeit
mit großen Dateien zu analysieren und zu optimieren, kann
jedoch die Codeausführung
aufgrund zusätzlicher Messungen
verlangsamen aufgrund zusätzlicher Messungen Sie können es mit PIP installieren. Natürlich sollten Sie
diesen Befehl verwenden, um
ihn in einer
Jupiter-Notebook-Umgebung zu aktivieren ihn in einer
Jupiter-Notebook-Umgebung Sie verwenden diesen Befehl nur einmal, nicht vor jeder Verwendung von MMD Danach können Sie
MMIT verwenden, um die
maximale Speicherauslastung zu überprüfen Hier haben wir diesen Befehl für den
gesamten Speicherverbrauch
von Pandas Ergebnis verwendet gesamten Speicherverbrauch
von Pandas Ergebnis Nach allen Chunks
wurden wir bearbeitet. Wenn das Ziel also darin besteht,
den endgültigen Speicherverbrauch zu überprüfen, ist
die zweite Variante besser Wenn das Ziel darin besteht, den
Speicherverbrauch im Laufe der Zeit zu verfolgen, ist
die erste Variante
informativer. Wir können dieses Problem jedoch
vollständig vermeiden , indem wir Polare
anstelle von Pandas verwenden Kehren wir zur
Polarbibliothek zurück. Im vorherigen Beispiel haben wir Read CSV from Polars
verwendet. Diese Funktion liest die gesamte CSV-Datei sofort in den
Speicher und lädt alle Daten
in einen Datenrahmen So können wir direkt
Operationen daran ausführen. Wenn die
CSV-Datei jedoch groß ist, kann
dieser Ansatz viel Speicherplatz
beanspruchen, genau wie wir es bei Pandas gesehen haben Aber wie ich bereits erwähnt habe, hat
Polars auch einen Lazy-Modus Wenn wir jetzt die Art
des Polar-Ergebnisses überprüfen, werden
wir feststellen, dass es einen Lazy-Frame und nicht
um einen regulären Datenframe Bei Lazy Evaluation
oder Lazy Mode verwenden
wir ScnCSV
anstelle von ReadCSV ScnCSV liest die Daten nicht sofort in den Speicher. Stattdessen erstellt es einen
Lazy-Frame, der
Transformationen aufzeichnet und sie nur ausführt sie Dies ermöglicht eine Abfrageoptimierung und eine effizientere Ausführung Ich habe den vorherigen Code kopiert und ReadCSV einfach durch
ScanCSV ersetzt . Wenn wir jetzt den
Typ des Polarergebnisses überprüfen, erhalten
wir einen Lazy-Frame anstelle
eines Da Lazy Frames die
verzögerte Ausführung verwenden, können
wir den Ausführungsplan tatsächlich mithilfe
der Show-Graph-Methode visualisieren tatsächlich mithilfe
der Show-Graph-Methode Diese Methode generiert eine grafische Darstellung
des Abfrageplans, die uns
hilft, die
Datenverarbeitungspipeline zu verstehen und zu debuggen Sie bietet
Einblicke in die Schritte und Optimierungen, die
bei der Ausführung der Abfrage Um Show Graph verwenden zu können,
muss Graph mit
auf Ihrem System installiert sein Auf macOS können
Sie es mit Brew install graph with
unter Windows oder Linux installieren. Sie können in der
offiziellen Dokumentation
nach dem entsprechenden
Installationsbefehl suchen . Hier können Sie
den Befehl für Ihr
Betriebssystem auswählen . Wenn wir uns den Abfrageplan ansehen, können
wir sehen, dass nur fünf von acht Spalten ausgewählt
werden. Das bedeutet, dass
Polars nur
die benötigten Spalten lädt , anstatt den gesamten
Datensatz in den Speicher zu
lesen Als Nächstes rufe ich HAD für
Polar'sResult auf, und anstatt
die tatsächlichen Daten abzurufen, sehen
wir einen naiven Abfrageplan sehen
wir Das passiert, weil Lazy-Frames
nicht sofort ausgeführt werden nicht Sie erstellen einfach den
Ausführungsplan. Um die Abfrage tatsächlich auszuführen, müssen
wir Collect aufrufen. Die Collect-Methode
löst die Ausführung aus, verarbeitet alle
Operationen und gibt
den regulären Datenrahmen
anstelle eines Lazy-Frames zurück . Da unser Datensatz
mehr als 1 Million Zeilen enthält, dauert die
Ausführung einige Zeit. Am Ende erhalten wir das Ergebnis. Wenn wir jetzt den Typ
unseres Datenrahmens überprüfen,
stellen wir fest, dass es sich um einen
Impulsdatenrahmen handelt. Kein Laserrahmen mehr. Jetzt kopiere ich den
vorherigen Code mit Scan CSV und führe
ihn mit Collect aus. Messen Sie dann die
Ausführungszeit mit der Zeit. Der Code wird mehrmals ausgeführt und am Ende
erhalten wir das Ergebnis. Vergleichen wir das mit
der vorherigen Ausführung. Bei Verwendung von Read CSV
dauerte die Ausführung zehn bis sieben Sekunden. Es gibt keinen großen Unterschied,
aber sieh dir das an. Wenn wir die Streaming-Ausführung aktivieren indem wir streaming
equals true setzen, verarbeiten wir
in der Collect-Methode Daten inkrementell, anstatt alles auf einmal
in den Speicher zu
laden Streaming-Ausführung eignet sich hervorragend für große Datenmengen, da sie den Speicherverbrauch reduziert, indem Chunks statt
der gesamten Datensätze
verarbeitet werden. Außerdem kann sie potenziell die
Parallelverarbeitung nutzen, bei der
verschiedene Chunks gleichzeitig Prozesse auf einem separaten verschiedene Chunks Die Streaming-Ausführung eignet sich hervorragend
für große Datenmengen, da sie
den Speicherverbrauch reduziert, indem Chunks statt
der gesamten Datensätze
verarbeitet werden. Außerdem kann sie potenziell die
Parallelverarbeitung nutzen,
bei der
verschiedene Chunks gleichzeitig Prozesse auf einem separaten CPO-Kurs sind. Streaming-Ausführung
verbessert im Allgemeinen die Leistung
großer Datensätze, indem sie den Speicherverbrauch reduziert Die Streaming-Ausführung
verbessert im Allgemeinen die Leistung
großer Datensätze, indem sie den Speicherverbrauch reduziert und eine parallele Verarbeitung ermöglicht. Bei kleinen Datensätzen kann
der Unterschied jedoch
vernachlässigbar sein Mit Polaren müssen Benutzer ihre Daten
nicht manuell in
kleinere
Teile aufteilen, ihre Daten
nicht manuell in
kleinere
Teile aufteilen wie wir es bei Pandas getan haben. Polars verarbeitet das automatisch. Jetzt können wir einen signifikanten
Leistungsunterschied feststellen.
10. Datenvisualisierung in Polar. Vorteile, Einschränkungen und eine vergleichende Analyse: Wenn es um
Datenvisualisierung und Polarbilder geht, wird oft empfohlen,
Ihren Datenrahmen in
einen Pandas-Datenrahmen
zu konvertieren Ihren Datenrahmen in
einen Pandas-Datenrahmen
zu Wie ich bereits erwähnt habe, können
wir dafür die
Zwei-Pandas-Methode verwenden Die Verwendung von Pandas zum Plotten
bietet mehr Flexibilität. Sie können aber auch Matplotlip oder
Seaborne
verwenden , beides weit verbreitete Bibliotheken für die Datenvisualisierung. meinem Profil finden Sie ein Video zu diesen Bibliotheken.
Du kannst auschecken. MD Plot Leap bietet
mehr Flexibilität und ermöglicht eine fein abgestimmte
Steuerung der Diagramme. Seaborn macht
es jedoch einfacher,
komplexe statistische Diagramme mit
einer einfacheren Syntax und
besseren Standardstilen zu erstellen komplexe statistische Diagramme mit einer einfacheren Syntax und
besseren Standardstilen Dies sind jedoch nicht
die einzigen Optionen. Du kannst auch HV Plot verwenden, eine umfangreiche
Plotbibliothek, die nativ mit dem Datenrahmen von
Polar
funktioniert Sie bietet eine leistungsstarke
und flexible Oberfläche für die Erstellung Wenn Sie
mehr über HVPlot erfahren möchten, können
Sie sich
die Dokumentation ansehen Natürlich müssen Sie es zuerst
installieren, bevor Sie es verwenden können In Polars können Sie auch
die integrierte
Plotmethode verwenden, um
grundlegende Visualisierungen zu erstellen,
ohne sie in Pandas umwandeln oder HV-Plots verwenden
zu müssen Die Plotmethode versteht
die Struktur von Polardatenrahmen und kann Diagramme mithilfe des
grundlegenden MD-Plot-Leap-Backends
erzeugen Sie können
die Art der Diagramme angeben,
z. B. Punktdiagramm ,
Linie oder Sie definieren auch
Spaltennamen für die X
- und Y-Achse sowie zusätzliche Plotparameter
wie den Titel Diese Arten von Diagrammen
eignen sich für die Erstellung
einfacher Visualisierungen. Beachten Sie jedoch, dass die integrierten
Plotfunktionen in
Polardiagrammen im Vergleich zu
Bibliotheken wie HV Plot
oder Mod Plot Leap,
die erweiterte
Funktionen bieten, begrenzt Bibliotheken wie HV Plot
oder Mod Plot Leap,
die erweiterte
Funktionen bieten, die erweiterte
Funktionen bieten Für zusätzliche Vorteile müssen
Sie möglicherweise andere Bibliotheken verwenden Deshalb haben wir heute viel besprochen. Polare bieten zwar
viele Vorteile, haben
aber auch einige Einschränkungen und Nachteile. Mal
sehen, was es ist Erstens ist Polars im Vergleich zu Pandas eine
relativ neue Bibliothek, und sie bietet möglicherweise nicht so umfangreiche Community-Support oder so viele
Erweiterungen von Drittanbietern Pandas verfügt über ein größeres und
etablierteres Ökosystem mit vielen
Bibliotheken und Tools von Drittanbietern so konzipiert sind, dass sie nahtlos
mit Pandas-Datenrahmen zusammenarbeiten Da es sich um eine neuere Bibliothek
handelt, weist Polars möglicherweise nicht
die gleiche Kompatibilität mit bestehenden
Datenanalysebibliotheken Datenanalysebibliotheken Sie sollten dies berücksichtigen, bevor von der
Pandas-Bibliothek zu Polars
wechseln Eine weitere Einschränkung
besteht darin, dass Polars nicht die gleiche Flexibilität bei der
Indexierung bietet wie Indexierung Es unterstützt zwar die
zeilenbasierte Indizierung, es fehlen ihm die robusten
mehrstufigen und hierarchischen
Indexierungsfunktionen Bei Polaren können
Sie beispielsweise nur eine einzelne
Spalte als Zeilenindex festlegen,
wohingegen Pandas komplexere Indexstrukturen ermöglicht . Wenn Sie in
Ihrem Projekt schon einmal eine
mehrstufige Indizierung verwendet haben , dies bei
der Umstellung auf
Polarwerte berücksichtigen Darüber hinaus sind die
Visualisierungsmöglichkeiten in Polaren derzeit im Vergleich zu
Pandas begrenzt In Pandas ist es relativ
einfach, Daten mithilfe
integrierter Plotmethoden oder
durch nahtlose Integration
mit externen
Visualisierungsbibliotheken direkt aus dem Datenrahmen durch nahtlose Integration mit Wenn die Visualisierung also ein
wichtiger Teil Ihres
Workflows ist und Sie die
Leistungsvorteile von
Polars für Ihre
spezifischen Anwendungsfälle
nicht benötigen , Pandas möglicherweise die
bequemere Der Wechsel von
Pandas zu Polars kann führen aufgrund der unterschiedlichen
Funktionen und Fähigkeiten
der beiden Bibliotheken
möglicherweise
zu
unerwartetem Verhalten oder zu Funktionslücken und Fähigkeiten
der beiden Bibliotheken
möglicherweise
zu
unerwartetem Verhalten oder zu Funktionslücken Wie ich bereits erwähnt habe, gibt es
Pandas schon länger und es verfügt über ausgereiftere und
umfassendere Funktionen. Polars bietet zwar viele wichtige Funktionen zur Datenmanipulation
und -analyse, es fehlen jedoch möglicherweise einige der
fortschrittlicheren Funktionen
oder Funktionen , die in Pandas
verfügbar sind Also, Leute, herzlichen Glückwunsch
zum Abschluss dieses Kurses. Ihr habt gute Arbeit geleistet.
Lerne weiter, programmiere weiter. Wir sehen uns in den
nächsten Kursen. Tschüss.