Transkripte
1. Einführung: Willkommen zum Pandas-Kurs. In diesem Kurs
werden wir Pandas untersuchen, eine der
wichtigsten Bibliotheken für die Datenanalyse in Python Dieser Kurs vermittelt
Ihnen das Kernwissen, das Sie benötigen, um effizient mit Daten zu
arbeiten Wir beginnen mit der Einrichtung
unserer Arbeitsumgebung mithilfe von Anaconda-Algebra und Notizbuch um sicherzustellen, dass Sie über die
richtigen Tools für die Aufgabe verfügen Sobald das fertig ist, werden wir uns den
Grundlagen von Pandas
befassen und
lernen, wie man Datenrahmen, die zentrale Datenstruktur in Pandas,
erstellt,
manipuliert und analysiert zentrale Nachdem wir die Grundlagen gemeistert
haben, werden wir
mit realen Datensätzen arbeiten, die aus offenen Quellen heruntergeladen wurden. Sie werden lernen, Daten
zu bereinigen, zu transformieren
und zu organisieren, um sie für eine eingehendere Analyse
vorzubereiten Den Download-Link
für den Datensatz finden Sie in der
Klassenbeschreibung. Wir werden uns auch mit
Multi-Indexierung und Pivot-Tabellen befassen, leistungsstarken Tools zur effektiven Strukturierung und Zusammenfassung von Daten Als Nächstes werden wir uns mit
Datenvisualisierung und Pandas befassen und Rohzahlen in
übersichtliche und informative Diagramme umwandeln Wir werden auch lernen,
Datenrahmen in einer Datenbank zu speichern , sie bei Bedarf
abzurufen
und SQL-Abfragen direkt in
Pandas zu verwenden, und SQL-Abfragen direkt in
Pandas zu verwenden um
mit strukturierten Daten zu interagieren Am Ende dieses Kurses werden
Sie sicher sein, Pandas
für die
Datenanalyse
in der realen Welt zu verwenden , von der
Organisation von
Rohdaten bis hin zur Gewinnung aussagekräftiger Erkenntnisse.
Lass uns anfangen
2. Erste Schritte mit Pandas: Installation, Anaconda-Setup, Jupyter-Notebook: Hallo Leute. Willkommen
zum Pandas-Kurs Heutzutage sind Daten eine der wertvollsten Ressourcen
in
der modernen Welt,
und die Fähigkeit, sie
effektiv zu manipulieren, zu analysieren und zu visualisieren, ist von entscheidender Bedeutung Hier kommt Pandas ins Spiel, eine
der leistungsstärksten
Python-Bibliotheken für die Datenanalyse Pandas bietet eine
schnelle, flexible
und benutzerfreundliche Möglichkeit, mit strukturierten Daten zu
arbeiten Egal, ob Sie es
mit Tabellenkalkulationen,
großen Datensätzen oder Datenbanken zu tun haben, mit
Pandas können Sie Daten mühelos bereinigen, transformieren und analysieren Es wird häufig
in den Bereichen Datenwissenschaft,
Finanzen, maschinelles Lernen
und vielen anderen Bereichen eingesetzt, in denen datengesteuerte Entscheidungen
unerlässlich Beherrschung dieser Bibliothek ist für
jeden, der mit
Daten arbeitet, von Analysten bis hin zu
Forschern und
Softwareentwicklern
unerlässlich Daten arbeitet, von Analysten bis hin zu Forschern und
Softwareentwicklern Einer der Hauptvorteile
der Verwendung von Pandas ist die Fähigkeit, große Datenmengen
dank spezieller Strukturen, die die Arbeit mit
Datentabellen und
deren Analyse vereinfachen
,
effektiv
zu handhaben und zu
analysieren spezieller Strukturen, die die Arbeit mit
Datentabellen und
deren Analyse vereinfachen
,
effektiv
zu und Bevor wir anfangen, mit Pandas zu
arbeiten, müssen
wir einige Zunächst werden wir uns mit
der Verbreitung von Anaconda
und den virtuellen Umgebungen befassen der Verbreitung von Anaconda
und So können wir auswählen, was für Sie am besten
funktioniert. Anaconda ist eine
Distribution von Python. Dazu gehören nicht
nur PyTon selbst, sondern auch viele andere
nützliche Bibliotheken und Tools für Datenanalyse
und Einer der Hauptvorteile
von Anaconda ist, dass es vorinstallierte
Bibliotheken wie Napi,
Sky Pie, Mud Blood Leap,
Jupiter und natürlich Pandas enthält Sky Pie, Mud Blood Leap, Jupiter und natürlich Dies vereinfacht
diese Art von Umgebung für die
Datenanalyse erheblich diese Art von Umgebung für und ermöglicht es Ihnen schnell mit der
Arbeit an einem Projekt
zu beginnen Conda ist ein Paket- und
Umgebungsmanager für Python. Das kommt mit Anaconda. Es ermöglicht Ihnen,
Versionen von Python-Paketen und anderen Softwaretools zu installieren, zu
aktualisieren
und zu verwalten . Einer der Hauptvorteile von Conda ist die Möglichkeit,
isolierte Umgebungen zu erstellen In diesen Umgebungen können Sie verschiedene Versionen
von Python und seinen Paketen
installieren, um Konflikte zwischen
verschiedenen Projekten zu vermeiden und die
Stabilität Ihres Codes sicherzustellen. Gehen wir nun zum Üben über. Gehen Sie zunächst zur
Installationsseite und folgen Sie den Anweisungen. Ich werde zunächst
zeigen, wie man
es auf macOS und dann auf Ubuntu installiert . Gehen Sie für macOS
zum Link macOS Installer
und laden Sie das Installationsprogramm herunter. Öffnen Sie die Download-Datei und starten Sie den
Installationsvorgang. Folgen Sie den Anweisungen,
gewähren Sie Berechtigungen, stimmen Sie den Bedingungen zu
und warten Sie, bis die
Installation abgeschlossen Der Vorgang
dauert einige Minuten. Sobald Anaconda installiert ist, werden
Sie aufgefordert,
Anaconda Navigator auf die neueste Version zu
aktualisieren Anaconda Navigator auf die neueste Version zu Also lass es uns aktualisieren. Nach dem Update
können Sie Jupiter Notebook sofort starten
und mit der Arbeit beginnen. Oben sehen Sie die von Conda
erstellten virtuellen Standardumgebungen mit
allen Abhängigkeiten, sodass Sie
Pandas nicht installieren müssen. Es ist schon Sie werden sehen, wie der
Jupiter-Server gestartet wird, und Sie können ein Dokument öffnen, das Sie bereits haben, oder ein neues
erstellen. Wie Sie sehen,
funktioniert alles und Pandas
ist einsatzbereit Lassen Sie uns nun mit Ubuntu fortfahren. Gehen Sie zum Link des Linux-Installers. Installieren Sie zunächst alle Abhängigkeiten. Laden Sie dann das Installationsprogramm für Linux herunter. Öffne das Terminal. Führen Sie die heruntergeladene Datei und starten Sie die Installation, indem
Sie den Anweisungen folgen. Stimmen Sie den Lizenzbedingungen zu und folgen Sie den Anweisungen in
der Dokumentation Wenn Sie dazu aufgefordert werden, wählen Sie Ja,
um Anaconda zu initialisieren. Öffnen Sie als Nächstes das Terminal und deaktivieren Sie die automatische Aktivierung
der Basisumgebung Bei der Installation von
Anaconda trägt
die Deaktivierung der automatischen Aktivierung
der Basisumgebung dazu bei, die Deaktivierung der automatischen Aktivierung
der trägt
die Deaktivierung der automatischen Aktivierung
der Basisumgebung dazu bei unnötiges
Durcheinander im Terminal
zu vermeiden,
gibt Ihnen mehr
Kontrolle darüber, welche Umgebung
aktiviert werden soll, und verhindert, dass die Basisumgebung versehentlich
verwendet wird,
insbesondere bei der insbesondere bei Auf diese Weise können Sie in einer
übersichtlicheren und flexibleren Umgebung arbeiten. Starten Sie das Terminal neu, um sicherzustellen, dass die Basisumgebung deaktiviert
ist Sie können alle Abhängigkeiten mit dem Befehl Conda list auflisten Starten Sie abschließend
Anaconda Navigator. Folgen Sie von hier aus
den gleichen Schritten. Starten Sie Jupiter, öffnen Sie eine neue
oder bereits erstellte Datei oder bereits erstellte und beginnen Sie mit der Arbeit mit Pandas Wenn Sie Anaconda Navigator öffnen und zur Registerkarte Umgebungen wechseln, sehen
Sie die Basis-Entwicklungsumgebung,
die Anaconda standardmäßig während der Installation erstellt hat Sie können eine
neue Entwicklungsumgebung hinzufügen oder löschen oder die bestehende Basisumgebung verwalten Hier können Sie sehen, was
bereits installiert ist, oder
die Suchfunktion verwenden , um die benötigten
Pakete direkt zu finden und zu installieren. Wenn Sie es vorziehen, wie ich, über das Terminal
zu arbeiten, können
Sie die
Entwicklungsumgebung direkt
vom Terminal aus öffnen und
alle Abhängigkeiten mit
dem P-Paketmanager installieren . Sie können
virtuelle Umgebungen auch verwalten und Jupiter und Panda
separat ohne Anaconda
installieren Das wäre eine
völlig andere Art, deinen Arbeitsplatz zu organisieren Lass uns jetzt an die Arbeit gehen.
3. Die Pandas-Serie erklärt: Erstellen, Manipulieren und Vergleichen mit NumPy-Arrays: Machen wir uns also an die Arbeit. Wenn Sie sich entscheiden,
Anaconda nicht zu verwenden und mit einer
virtuellen Umgebung zu arbeiten, können
Sie Pandas mit
dem Befehl Pep Install Pandas installieren dem Befehl Pep Pandas bietet robuste
und benutzerfreundliche
Datenstrukturen, die sich perfekt für die Datenmanipulation und -analyse perfekt Die wichtigsten Datenstrukturen in Pandas sind Serien
und Datenrahmen Diese Strukturen sind für
die Verarbeitung verschiedener
Datentypen konzipiert die Verarbeitung verschiedener
Datentypen und bieten
leistungsstarke Methoden
zur Datenmanipulation
und -analyse Eine Serie ist ein eindimensionales Objekt, das einem
Array ähnelt. Das kann Daten aller Art enthalten,
einschließlich Ganzzahlen, Zeichenketten, Gleitkommazahlen und mehr Es ähnelt einer Spalte
in einer Tabelle
oder einer Datentabelle Jedem Element in einer Reihe ist eine Bezeichnung zugeordnet,
die als Index
bezeichnet wird und einen schnellen Zugriff auf Daten ermöglicht Ein Datenrahmen ist eine zweidimensionale
tabellarische Datenstruktur mit beschrifteten Achsen,
Zeilen und Spalten Es ähnelt
Tabellenkalkulationen oder SQL-Tabellen. Bevor wir uns mit
diesen Strukturen befassen, ist
es wichtig zu
verstehen, dass Pandas auf
einer anderen grundlegenden Python-Bibliothek
namens Nam Pi aufbaut einer anderen grundlegenden Python-Bibliothek
namens Nam Pi Es ist die Abkürzung für numerisches Python und es ist eine Bibliothek, die
Unterstützung für Arrays und Matrizen bietet Unterstützung für Arrays und Matrizen Während eine Panda-Serie und Numpi-Array auf den ersten Blick
ähnlich aussehen mögen, gibt es einige wichtige Unterschiede Eine Serie hat einen Index
, der jedes Element beschriftet, sodass Daten einfach nach
Bezeichnung und nicht nur
nach Ganzzahlposition abgerufen Bezeichnung und nicht nur
nach Ganzzahlposition Ein Array verwendet dagegen nur ganzzahlige Positionen. Eine Reihe kann
Daten gemischter Typen enthalten, während das Numpi-Array homogen
ist,
was bedeutet, dass alle Elemente vom gleichen Typ
sein müssen Lassen Sie uns die
Pandas-Bibliothek importieren und ihre Version überprüfen. Lassen Sie uns nun einen Datenrahmen
aus den Daten erstellen , die
wir bereits haben Und dafür erstelle ich
ein Listenwörterbuch. Liste. Ich werde Napi importieren
und die Randint-Funktion verwenden, die wir im Numpi-Kurs
behandelt haben Ich schlage vor, dass Sie sich damit
vertraut machen. Die Zufallsfunktion generiert zufällige Fließkommazahlen aus der
Standardnormalverteilung. Die SID-Funktion wird
verwendet, um
den Zufallszahlengenerator
mit einem bestimmten CID-Wert zu initialisieren den Zufallszahlengenerator
mit einem bestimmten CID-Wert Dies ist aus Gründen der
Reproduzierbarkeit nützlich z. B. in Simulationen oder Testszenarien, in denen
Sie dieselbe Folge
von
Zufallszahlen reproduzieren möchten dieselbe Folge
von
Zufallszahlen reproduzieren Jetzt können wir unseren Datenrahmen sehen. Es sieht aus wie eine Tabelle
und besteht aus Zeilen, die durch Indexbeschriftungen
dargestellt werden und Spalten, die
durch Spaltenbeschriftungen dargestellt werden. Jede Spalte ist eine Reihe. jedes Element im Datenrahmen wird über die
Zeilen- und Spaltenbeschriftungen zugegriffen. Kurz gesagt, ein Datenrahmen in Pandas kann
als eine Sammlung
seriöser Objekte betrachtet werden,
wobei jede Serie eine Spalte
in einem Datenrahmen
darstellt Ich habe unnötige Teile entfernt. Eine Serie und Pandas
können aus
verschiedenen Datentypen,
einschließlich Listen, erstellt werden . Wir haben
schon einen Lassen Sie uns also eine
Serie aus dieser Liste erstellen. Beim Erstellen einer
Serie aus einer Liste konvertiert
Bandas die Liste in
eine eindimensionale, konvertiert
Bandas die Liste in
eine eindimensionale array-ähnliche Struktur mit einem
zugehörigen Index Um eine Reihe aus einer Liste zu erstellen, verwenden
Sie die PD-Serie und übergeben
die Liste als Argument Optional können Sie auch
einen Index angeben, um die Elemente zu beschriften. Wenn Sie keinen Index angeben, weist
Pandas automatisch
einen weist
Pandas automatisch Integer-Index zu, der bei Null
beginnt Lass uns eine weitere Serie erstellen. Als Daten übergebe ich X und als Index übergebe
ich unsere erste
Liste L. Wir können auch Argumente
ohne ihren Namen
übergeben und erhalten dasselbe Ergebnis. Lassen Sie uns eine Serie
aus einem Wörterbuch erstellen. Wenn wir eine solche Datenstruktur verwenden, erhalten
wir eine Reihe,
bei der die Schlüssel
am Index agieren und die
Werte die Daten repräsentieren. Und hier können wir für das nächste Beispiel deutlich
sehen, dass
ich zwei Reihen erstellen werde, die Daten und Indizes
enthalten. Stellen wir uns eine Situation vor
, in der Sie
zwei Panda-Serien
mit dem Plus-Operator zusammenfügen möchten . Pandas führt eine
elementweise Addition auf der
Grundlage der Ausrichtung
ihrer Indizes Das bedeutet, dass die Werte jedes Indexes in
der ersten Reihe zu den Werten desselben Indexes in
der zweiten Reihe addiert
werden Wir haben hier mehrere
identische Indizes, sodass die entsprechenden
Zahlen addiert werden. Wenn ein Index in
einer Reihe vorhanden ist , in der anderen jedoch nicht, das Ergebnis für diesen
Index keiner,
keine Zahl, was auf
einen fehlenden Wert hinweist. Es ist wichtig zu beachten , dass wir zwar anfänglich Integer-Daten
übergeben haben, das Ergebnis aber Gleitkommazahlen enthält. Dies liegt daran, dass
Pandas bei
mathematischen
Operationen ganze Zahlen automatisch in Gleitkommazahlen umwandelt,
um Nichtwerte zu behandeln und die
Konsistenz bei der Kombination
verschiedener Datentypen zu gewährleisten Konsistenz bei der Kombination Dieses Verhalten ermöglicht eine
flexiblere und robustere
Datenmanipulation, bei der fehlende Werte
und
gemischte Datentypen nahtlos berücksichtigt Fahren wir mit dem Datenrahmen fort.
4. Pandas DataFrames meistern: Zugriff, Änderung, Filtern und Indexieren: Fahren wir mit Datenrahmen fort. Ich fange im Dokument und importiere alle
notwendigen Bibliotheken. Lassen Sie uns unseren ersten
Datenrahmen mit zufälligen Daten erstellen. Ich werde einen Datenrahmen
mit vier Zeilen und vier Spalten generieren . Um diesen Datenrahmen
mit Zufallszahlen zu füllen, verwende
ich eine Funktion, die Zufallswerte
generiert. Ich werde auch eine Liste als
Index übergeben und
Spaltenbeschriftungen definieren. Dies führt zu einem
typischen Datenrahmen. Um auf eine Spalte zuzugreifen, verwenden
wir die Klammernotation
und übergeben den Spaltennamen. Wenn wir mehrere Spalten benötigen, übergeben
wir eine Liste von Spaltennamen. Tatsächlich können wir
genau wie bei Reihen Operationen an
Datenrahmenspalten
ausführen , wie Addition, Subtraktion
und Multiplikation Lassen Sie uns zum Beispiel dem Datenrahmen eine neue
Spalte hinzufügen. Ich werde sie neu nennen, und das werden einige der
Spalten T und R sein. Somit haben
wir jetzt eine neue Spalte. Um eine Zeile zu löschen, verwenden wir
die Drop-Funktion. Wenn ich zum Beispiel
die Zeile mit Index A lösche, scheint
sie zunächst entfernt zu sein. Wenn ich
den Datenrahmen jedoch erneut aufrufe, ist
die Zeile A immer noch da. Dies geschieht, weil Pandas den vorhandenen Datenrahmen
nicht ändert es sei denn, wir geben an Ort und Stelle den
Wert
true an Wenn die Einstellung an Ort und Stelle gleich true ist, wird sichergestellt, dass die Änderungen im
Datenrahmen bestehen bleiben Andernfalls bleibt der ursprüngliche
Datenrahmen unverändert. Ähnlich wie beim Löschen einer Spalte verwenden
wir die Funktion Zeichnen, müssen
aber den
Achsenparameter auf eins setzen Da die Standardachse gleich Null ist
, bezieht sich das auf das Löschen von Zeilen Ich füge an Ort und Stelle
zwei hinzu , damit die Änderungen sofort
wirksam Und hier haben wir die Zeile gelöscht, und wenn ich festlege, dass die Achse gleich Null ist, wird sich
nichts ändern Das ist der Standardwert. Das Shape-Attribut
gibt ein Tupel zurück, das die Anzahl der
Zeilen und Spalten
im Datenrahmen
angibt Zeilen und Spalten
im Datenrahmen Es ist nützlich, wenn
Sie schnell
die Größe des Datenrahmens überprüfen oder Datendimensionen
validieren Zeilen können ausgewählt werden, indem
die Zeilenbeschriftung an
die Protokollfunktion übergeben wird. Denken Sie daran, dass
wir für die
Auswahl einer Spalte keine Protokollfunktion benötigen. Wir können einfach die
Klammernotation verwenden. Wenn wir Zeilen mithilfe einer
ganzzahligen
Indizierung auswählen möchten , verwenden wir Iloc Auf diese Weise können wir Zeilen auf der Grundlage
ihrer numerischen Position
abrufen ,
unabhängig von ihrem benannten Index beispielsweise IoC Null verwenden, geben
wir die erste Zeile zurück Der Einfachheit halber werde ich unseren Datenrahmen erneut
anzeigen. Um eine bestimmte
Teilmenge von Zeilen und Spalten zu extrahieren, verwenden
wir die Log-Funktion und übergeben
sowohl Zeilen- als auch Spaltenbeschriftungen
in einer Koma-Notation Wenn wir eine Teilmenge bestimmter Zeilen und
bestimmter Spalten benötigen, übergeben
wir zwei Listen, eine für Zeilen und
eine für Und hier können wir die
Teilmenge der RT-Spalte sehen, und als Nullen
gibt es viele Situationen, in denen wir eine Teilmenge von
Daten benötigen , die Und dafür bietet Pandas Filterfunktionen. Pandas ermöglicht eine
bedingte Auswahl , um Daten nach
bestimmten Bedingungen zu filtern Wenn
wir beispielsweise
alle Datenwerte
größer als Null auswählen möchten , die Ausgabe ein
gefilterter Datenrahmen, in dem nicht übereinstimmende Datensätze durch keine
ersetzt werden ,
nicht durch eine Zahl. Versuchen wir es nun mit einer
spaltenbasierten Filterung. Ich werde Daten auf der Grundlage einer
Bedingung extrahieren , bei der die E-Spalte
Werte größer als Null hat. Anfänglich
werden in der Ausgabe boolesche Werte angezeigt, d. h.
wahr, wenn die Bedingung
erfüllt ist, und andernfalls falsch Um tatsächliche Daten abzurufen, die die Bedingung erfüllen, müssen
wir die Bedingung
direkt auf den Datenrahmen anwenden Dadurch werden nur Zeilen zurückgegeben, in denen die E-Spalte einen Wert
größer als Null hat. Wenn wir die
Bedingung ändern, indem wir beispielsweise Werte
größer als eins
auswählen, die Ausgabe diese
neue Bedingung entsprechend wider. Die
Methode zum Zurücksetzen des Index ermöglicht es uns, den Index auf den numerischen
Standardindex
zurückzusetzen. Wenn wir den Index zurücksetzen, wird
der alte Index als Spalte hinzugefügt und
ein neuer sequentieller
Index wird erstellt Die Methode set index
ermöglicht es uns,
eine vorhandene Spalte als
Index des Datenrahmens festzulegen eine vorhandene Spalte als
Index des Datenrahmens Hier habe ich die T-Spalte genommen
und sie als Index verwendet. Mit der integrierten
Split-Funktion von Python können
wir effektiv eine Liste
generieren. Wir können eine
Liste auf diese Weise generieren. Es dauert viel weniger Zeit, bis ein Element mit mehreren Werten
gleich drei Und fügen Sie dann diese Liste als
neue Spalte in unserem Datenrahmen hinzu. Die Split-Funktion
in Pandas ist nützlich Zeichenketten auf der
Grundlage eines DelmeteRs
in mehrere Teile zu trennen ,
bestimmte Daten zurückzuholen
oder neue Spalten aus Textdaten zu erstellen Wenn kein Trennzeichen angegeben ist, die Split-Funktion die
Zeichenfolge durch
Leerzeichen, Leerzeichen, Tabulatoren oder neue
Zeilen auf, wie in unserem Fall Leerzeichen, Leerzeichen, Tabulatoren oder neue
Zeilen auf,
5. Arbeiten mit MultiIndex in Pandas: hierarchische Indexierung erklärt: Lassen Sie uns wie immer alle notwendigen Bibliotheken importieren
. Der Multiindex oder der
hierarchische Index ist eine erweiterte Version des
Standardindex in Pandas Sie können es sich als
eine Reihe von Tupeln vorstellen, wobei jeder Dapple eine
einzigartige Indexkombination darstellt Dieser Ansatz ermöglicht
komplexere Indexstrukturen Beginnen wir mit der Erstellung
eines einfachen Datenrahmens. Anschließend werden wir mit
der Funktion from frame
einen hierarchischen Index generieren mit
der Funktion from frame
einen hierarchischen Index Dieses Beispiel hilft
uns
zu verstehen, wie ein hierarchischer
Index aus einem Datenrahmen erstellt Beginnen wir mit der Erstellung
eines einfachen Datenrahmens. Zunächst erstellen wir einen Datenrahmen mit einer Liste von Daten- und Spaltennamen. Dieser Datenrahmen wird später verwendet, um unseren
hierarchischen Index zu erstellen Ich übergebe eine Liste mit Daten
- und Spaltennamen und unser Datenrahmen ist fertig Jetzt haben wir einen
typischen Datenrahmen. Er enthält einen Index, Spaltennamen und Daten. Dieser Datenrahmen wird verwendet
, um ein Indexobjekt zu erstellen. Wir verwenden die Frame-Funktion From und übergeben unseren
Datenrahmen als Argument. Jetzt haben wir ein Index-Objekt, das eine
Liste von eindeutigen Tupeln darstellt Lassen Sie uns also
mit diesem fertigen Multiindex einen neuen Datenrahmen erstellen mit diesem fertigen Multiindex Zuerst fülle ich den
Datenrahmen mit Zufallszahlen aus. Als Nächstes definieren wir eine Struktur mit vier Zeilen und zwei Spalten. Wir übergeben den Multiindex
am Indexparameter. Schließlich definieren wir
Spaltennamen für den neuen Datenrahmen. Und jetzt können wir
den neuen Datenrahmen sehen. Wir haben From Frame verwendet, um aus
einem Datenrahmen einen Multiindex zu erstellen , hierarchische
Indexierung für eine
bessere Datenorganisation
und eine effiziente Auswahl
ermöglicht bessere Datenorganisation
und eine effiziente Auswahl Und jetzt können wir mit
diesem
Multiindex einen neuen Datenrahmen erstellen mit
diesem
Multiindex einen neuen Datenrahmen Wenn Sie jedoch
einen neuen Datenrahmen erstellen, muss
die Anzahl der Zeilen in
den Daten mit
der Anzahl der Indexstufen übereinstimmen , um Größenunterschiede zu vermeiden Jetzt zeige ich
Ihnen, wie Sie einen Index auf etwas andere Weise erstellen und damit arbeiten Zunächst verwende ich die
Split-Funktion von Python , um Listen schneller zu erstellen. Dann verwende ich die Z-Funktion , um jedes
Elementpaar miteinander zu verbinden. Schließlich wandle ich sie
in eine Liste Taples um. Die Z-Funktion in Python paart Elemente aus
mehreren Iterables und erzeugt Tupel
entsprechender Sie ist nützlich, um
über mehrere Sequenzen gleichzeitig zu iterieren über mehrere Jetzt kann ich mit der Funktion from Taples einen
Multiindex aus einem Array
von Taples erstellen von Taples erstellen Wir haben also unseren Multiindex und können ihn
in einen neuen Datenrahmen integrieren Zuerst fülle ich den Datenrahmen mit zufälligen Daten,
wie wir es oben getan haben. Als Nächstes definiere ich die Struktur mit sechs Zeilen und zwei Spalten. Dann übergebe ich unseren
Multiindex, das Indexattribut, und schließlich definiere ich die
Spaltennamen. Hier ist es. Wir können unseren neuen Datenrahmen sehen. Okay, lassen Sie uns erwägen, mit Multiindex auf
Daten zuzugreifen. Mithilfe des Names-Attributs können
wir Namen für die
Ebenen des Multiindex festlegen. Und hier lege ich die Namen für
unsere Multi-Index-Spalten, Einheiten und Arbeiter fest.
Also lass uns üben. Übersichtlichkeit halber können wir
zwei markierte Spalten,
Einheiten und Arbeiter, sehen . Um das Gehalt von Arbeiter
drei aus Einheit zwei zu ermitteln, verwende
ich die Log-Funktion. Zuerst gebe ich Einheit zwei an, dann gebe ich Arbeiter drei und wähle schließlich die
Gehaltsspalte aus. Die doppelte Sperre wird verwendet , weil der Datenrahmen einen Multiindex
hat. Das erste Protokoll mit Einheit zwei wählt alle Zeilen unter Einheit zwei aus und gibt einen kleineren Datenrahmen zurück. Das zweite Protokoll, Arbeiter drei, wählt
dann Arbeiter drei aus
dieser Teilmenge aus, und schließlich ruft
Salary alle
spezifischen Spaltenwerte ab, und jetzt haben wir
das Ergebnis, Versuchen wir es mit einem anderen Beispiel. Ermitteln der Arbeitsstunden für Arbeiter eins und Arbeiter
zwei aus Einheit zwei. Du kannst alleine üben. Poste das Video und
versuche es selbst. Ich verwende die Protokollfunktion für Einheit zwei, dann übergebe ich Worker eins
und Worker zwei als Liste. Und schließlich gebe ich
die Stundenspalte an. Ich übergebe Arbeiter eins
und Arbeiter zwei als Liste innerhalb einer Liste, um mehrere Zeilen gleichzeitig
auszuwählen. Auf diese Weise können wir
die Stundenspalten für
beide Mitarbeiter gleichzeitig aus
der Teilmenge der Daten
unter Einheit zwei abrufen beide Mitarbeiter gleichzeitig aus der Teilmenge der Daten
unter Einheit zwei Und jetzt haben wir die
Arbeitszeiten für diese beiden Arbeiter. Ignoriere die negativen Werte, da wir den Datenrahmen
mit Zufallszahlen gefüllt haben. Daten aus der realen Welt würden gültige Werte
enthalten. Lassen Sie uns nun üben,
mehrere Zeilen und Spalten auszuwählen. Was brauchen wir für einen Schnittpunkt mehrerer Zeilen und
mehrerer Spalten? Holen wir uns Gehalt und Arbeitsstunden für Arbeiter zwei und Arbeiter
drei aus Einheit zwei. Verwenden Sie zunächst die Protokollfunktion
, um Einheit zwei auszuwählen. Übergeben Sie dann Worker 2 und
Worker 3 als Liste. Wählen Sie abschließend Gehalt
und Arbeitsstunden ebenfalls als Liste aus. Also pausiere das Video und
versuche es selbst zu machen. Wie Sie sehen können, haben wir dieselbe Methode
verwendet, die Funktion und die
Klammernotation. Definieren Sie dann Einheit zwei
auf der ersten Ebene, indem Sie Arbeiter zwei und
Arbeiter drei als Liste übergeben
und schließlich
zwei Listen mit Spalten, Gehalt und Stunden, in
Klammern übergeben. Ich kann vermeiden, Spalten,
Gehalt und Stunden
als Liste zu übergeben Gehalt und Stunden
als , weil wir nur zwei Spalten
in unserem Datenrahmen
haben. In diesem Fall
werden alle Spalten automatisch ausgewählt. Diese beiden Versionen werden
zum gleichen Ergebnis führen. Wenn wir jedoch
mehr als zwei Spalten hätten, müssten
wir die Spaltennamen explizit
auflisten. Das war also ein kurzes Beispiel dafür wie man mit
der hierarchischen
Indizierung in Pandas arbeitet Das Hauptziel dieser Lektion besteht
darin, zu verstehen, was hierarchische Indizierung
bedeutet und wie
sie in die Indexierungsfunktionalität von Pandas integriert wird Multiindizes sind in Pandas
nützlich, aber nicht immer die Sie werden häufig in
hierarchischen Datensätzen, Zeitreihenanalysen und bei Arbeit mit gruppierten In vielen
praktischen Fällen wird jedoch ein flacher Index mit
mehreren Spalten Einfachheit
und besseren Lesbarkeit
ein flacher Index mit
mehreren Spalten
bevorzugt also keine Angst.
In den meisten Fällen müssen
wir es nicht verwenden, aber es ist wichtig,
seine Struktur und Funktionsweise zu verstehen .
6. Pandas DataFrame-Analyse: Gruppierung, Aggregation und mathematische Funktionen: Jetzt möchte ich Ihnen eine neue Methode in
Pandas vorstellen. Und dafür werde ich einen Datenrahmen
erstellen. Wie immer importiere
ich zuerst die Pandas-Bibliothek Dann erstelle ich ein Wörterbuch. Und dann werde
ich aus diesem Wörterbuch den Datenrahmen erstellen. Die Head-Funktion auf Pandas gibt die ersten
Zeilen des Datenrahmens zurück. Dies wird
normalerweise verwendet, um schnell die oberste
Position der Daten zu
erwarten Standardmäßig werden
die ersten fünf Zeilen angezeigt. Filtern von Zeilen und Spalten in der Pandas-Bibliothek kann mithilfe der Filtermethode
erfolgen den Befehl Shift plus top verwenden, können
Sie
die Bedingungen, unter
denen wir filtern können, erweitern und anzeigen die Bedingungen, unter
denen wir filtern können Mit dieser Methode können Sie Zeilen und Spalten
anhand bestimmter vom Benutzer
festgelegter Bedingungen
auswählen . Als Ergebnis erhalten wir einen
Datenrahmen mit Zeilen oder Spalten,
der die angegebenen Bedingungen erfüllt. Es ist wichtig zu
beachten, dass die Filterung nur für den
Index oder die Labels gilt. Die Daten und der Datenrahmen
selbst werden nicht gefiltert. In diesem Fall erhalten wir beim
Filtern mit dem Parameter items und beim
Übergeben der Namen unserer Spalten, dem Parameter items und beim
Übergeben der Namen unserer Spalten, unseres
Namens oder unseres Alters nur
die angeforderten Daten. Wenn der Parameter items angegeben
ist, können Sie
eine Liste von Spalten angeben, die beibehalten werden sollen. Wenn nicht angegeben, bleiben alle
Spalten erhalten. Jetzt werde ich das
Beispiel anhand des Parameters demonstrieren. diesem Parameter können
Sie
eine Teilzeichenfolge angeben , die
Teil des Spaltennamens sein muss Nur die Spalten, deren Namen die Zeichenfolge
enthalten, werden beibehalten Wenn ich es überprüfe,
können wir es deutlich sehen. Es gibt auch den
Achsenparameter. Dieser Parameter gibt an, ob die Filterung auf Zeilen,
Achsenfolgen auf Null oder Spalten,
Achsenfolgen auf Eins angewendet Achsenfolgen auf Null oder Spalten,
Achsenfolgen auf Eins Achsenfolgen Um das klarer zu machen, werde ich anstelle
der Standardindizes
einige eindeutige Werte hinzufügen ,
die anhand bestimmter Kriterien gelesen und
gefiltert werden können gefiltert Nachdem wir die Zeilen
mit Shift plus Center neu geladen haben, wollen wir uns ansehen, wie das funktioniert Ich möchte Rose bekommen, die die Teilzeichenfolge BL
enthält,
also gebe ich den
Parameter an, der gleich BL ist und X gleich Null ist Dadurch wird
nur die Zeile mit
dem blauen Index und allen erforderlichen Informationen zurückgegeben dem blauen Index und allen Manchmal ist es sinnvoll,
den Datenrahmen nach dem Wert einer oder
mehrerer Spalten zu sortieren . Die Funktion zum Sortieren von Werten
ist dafür sehr nützlich. Sie geben den
Spaltennamen oder die Liste der Spalten an, nach denen
sortiert werden soll. Zum Beispiel habe ich hier nach dem Alter der Spalte
sortiert. Bei aufsteigender Reihenfolge
ist der aufsteigende Parameter auf true gesetzt Wenn Sie eine absteigende
Reihenfolge wünschen, setzen Sie sie auf False. Wenn Sie den ursprünglichen
Datenrahmen direkt
ändern möchten, müssen
Sie außerdem den ursprünglichen
Datenrahmen direkt
ändern möchten, wie zuvor den
In-Place-Parameter auf
true setzen wie zuvor den
In-Place-Parameter auf
true Standardmäßig ist er auf False gesetzt. Wenn Sie den Datenrahmen ändern
und ihn dann erneut aufrufen, werden
Sie feststellen, dass sich nichts
geändert hat , es sei denn, wir setzen den Wert auf true Für das nächste Beispiel werde ich die
Seaborn-Bibliothek importieren. Ich verwende diese
Bibliothek, weil ich damit den Titanic-Datensatz laden
kann Ja, Seaborn hat einen
Standarddatensatz, den ich laden kann. Jetzt werde ich den
Titanic-Datensatz laden und ihn
anzeigen, damit wir die verfügbaren Daten
sehen können Seborn ist die PyTON-Bibliothek, die für die statistische
Datenvisualisierung verwendet wird Sie vereinfacht die Erstellung informativer
und attraktiver Diagramme erleichtert so das Erkunden
und Verstehen von Datenmustern Ein Tutorial für
diese Bibliothek finden Sie in meinem Profil. Willkommen. Lassen Sie
uns Gruppe für Methode kennenlernen. Die Methode Gruppieren nach wird
verwendet, um Zeilen in
einem Datensatz auf der Grundlage
der Werte einer oder mehrerer Spalten zu gruppieren . Lassen Sie mich Ihnen ein Beispiel geben , damit Sie verstehen,
wie das funktioniert. In diesem Beispiel werde ich
alle Personen auf dem
Schiff nach ihrer Klasse gruppieren . Wenn ich das Ergebnis zeige, erhalten
wir eine Gruppe nach Objekten. Ich habe die Passagiere
nach Kabinenklassen gruppiert und möchte nun
den Durchschnittspreis für jede Klasse berechnen . Ich verwende dafür die
Mean-Funktion. Schau dir das Ergebnis an. Wir können eine große Lücke sehen. Die erste Klasse ist sehr teuer. zweite Klasse ist günstiger und die dritte Klasse
ist die billigste. Zusätzlich können wir uns den
Höchstpreis für
jede Klasse oder den Mindesttarif ansehen . Der
Mindesttarif zeigt jedoch Null an. Lassen Sie uns überprüfen, ob es solche Daten
gibt. Passagiere sind also möglicherweise kostenlos
gereist, oder es fehlen möglicherweise
Daten zu diesem Datenrahmen. Aber das hat keinen Einfluss, unserem
Beispiel dient es
nur zur Veranschaulichung. Fahren wir mit der Aggregation fort. Aggregation ist der Prozess
der Berechnung einer oder mehrerer statistischer Metriken für jede Gruppe, die
bei der Datengruppierung gebildet wurde Datengruppierung erfolgt
mit einem oder mehreren Schlüsseln und
Spalten. Anschließend
erfolgt die Aggregation für jede dieser Gruppen separat Da wir nun
mit der Methode „Gruppe für Methode“ vertraut sind, können
wir
Aggregationsfunktionen wie
Summe oder Mittelwert auf die gruppierten Daten anwenden Summe oder Mittelwert auf die Zum Beispiel habe ich
die Passagiere erneut nach
Kabinenklassen gruppiert und dann das Durchschnittsalter
der Passagiere in jeder Klasse
berechnet Hier können wir die Korrelation sehen. Je niedriger die Klasse, desto
jünger das Durchschnittsalter, was logischerweise Sinn macht In jenen Zeiten
waren ältere Menschen oft wohlhabender, weshalb sie
in höheren Klassen reisten Jetzt gebe ich Ihnen ein
Beispiel mit der Eiermethode. Diese Methode, kurz
für Aggregation,
wird verwendet, um
aggregierte Statistiken
für Gruppen von Zeilen zu berechnen , die
mit der Methode Group by gebildet Ich habe die Passagiere wieder
nach Kabinenklassen gruppiert. Jetzt möchte ich
das Durchschnittsalter und den
Durchschnittspreis für
Passagiere in jeder Klasse berechnen . Diese Notation
entspricht dem, was wir oben gesehen haben, jedoch
kompakter geschrieben. Wir verwenden die
Ag-Methode, um
sowohl das Durchschnittsalter als auch den
Durchschnittspreis in einer Zeile zu berechnen . Wenn Sie möchten,
kann die Eiermethode auch mehrere
Aggregationsfunktionen ausführen Sie können beispielsweise für jede Gruppe
sowohl den Mittelwert als auch den
Höchstwert berechnen jede Gruppe
sowohl den Mittelwert als auch den
Höchstwert Das Ergebnis enthält
alle angeforderten Metriken und bietet so einen umfassenderen
Überblick über die Daten. Wenn Sie
mehrere Funktionen verwenden, vergessen Sie
nicht, sie in
eckige Klammern zu setzen,
da es sich um eine Liste
7. Arbeiten mit echten Datensätzen: Daten-Download, Analyse und SQL-Integration in Pandas: Nachdem wir uns mit Anleihen befasst haben, ist
es an der Zeit,
unser Wissen durch die Arbeit
mit echten Datensätzen zu festigen unser Wissen durch die Arbeit Ich werde Ihnen zeigen, wo Sie echte Daten für
Ihre Projekte
finden können echte Daten für
Ihre Projekte
finden Wenn du
unabhängiger üben möchtest, kann ich dir das nur empfehlen. Notutorials oder Videos
können Ihnen mehr vermitteln
als praktische Erfahrung
mit Daten aus der realen Welt Lassen Sie uns also schlechte
Quellen für echte Datensätze in Betracht ziehen. Und der erste Cagle. Dies ist eine Plattform, auf der
Sie Datensätze kostenlos herunterladen, Notizbücher
erkunden und
von anderen Datenbegeisterten lernen Es ist eine der
besten Ressourcen für Datenanalyse- und
Machine-Learning-Projekte Die zweite Datenwelt. Es ist eine weitere großartige Ressource
, in der Sie Datensätze zu verschiedenen
Themen finden und
sie in verschiedenen Formaten herunterladen Als Nächstes können wir
Data Playground verwenden. dieser Website können Sie
Datensätze
vor dem Herunterladen
nach Themen und Formaten durchsuchen , Suche nach relevanten Daten zu erleichtern Wenn Sie mit Statistiken aus der
realen Welt arbeiten möchten, bietet
UNICEF Datensätze
zu den Themen globale Entwicklung,
Gesundheit und Bildung Diese Ressourcen sind sehr nützlich, insbesondere wenn Sie ein Lieblingsprojekt erstellen
möchten , das den tatsächlichen Stand
der Dinge zu einem ausgewählten Thema widerspiegelt der Dinge zu einem ausgewählten Für diejenigen, die es nicht wissen: Ein
Lieblingsprojekt ist ein Projekt, das Sie zu Hause durchführen, um es in
einem Interview zu präsentieren oder einfach um zu üben und zu verstehen,
wie die Dinge funktionieren. Viele Regierungen bieten
offene Datenportale , auf denen Sie
Datensätze zu Immobilien,
Gesundheit, Finanzen und vielem mehr herunterladen können Gesundheit, Finanzen und vielem mehr Ich ging auf eine
Open-Data-Website der Regierung. Und ich habe beschlossen, einen Datensatz
mit Informationen zu
Immobilienverkäufen 2001-2020
herunterzuladen mit Informationen zu
Immobilienverkäufen 2001-2020 Ich habe den
Datensatz im CSV-Format heruntergeladen
, der Daten zu
Immobilientransaktionen im
Laufe der Jahre enthält Immobilientransaktionen im
Laufe der Jahre Dies ist der Datensatz, den ich für unser Projekt verwenden
werde. Das Wichtigste zuerst: Ich
portiere Pandas und verwende die Methode „CSV lesen“
, um den Datensatz zu laden Da ich mich im selben
Verzeichnis wie die Datensatzdatei
befinde, muss ich keinen
vollständigen Pfad, den Dateinamen, angeben Wenn Sie versuchen, einen großen
Datensatz in einen Datenrahmen zu laden, versuchen
Pandas, automatisch die Datentypen
für jede Spalte zu ermitteln Bei großen Datensätzen kann
dieser Vorgang jedoch viel Speicher beanspruchen und
dauert in
der Regel sehr lange Um dies zu vermeiden,
haben Sie zwei Optionen Datentypen für
jede Spalte
manuell mithilfe des Typ-Parameters
D angeben oder den Parameter low
memory equals auf false
setzen,
damit Pandas mehr
Speicher für eine bessere Leistung verwenden Da unser Datensatz
fast 1 Million Zeilen enthält, ist
es nicht überraschend,
dass wir
beim Laden
eine Warnmeldung erhalten haben beim Laden
eine Warnmeldung Wenn Sie einen großen Datensatz laden und sehen möchten, wie er
aussieht, müssen
Sie nicht
den gesamten Datenrahmen anzeigen. der Head-Methode können
Sie nur einen Teil davon überprüfen. In ähnlicher Weise können Sie
mit der Tail-Methode
eine bestimmte Anzahl von
Zeilen vom Ende aus betrachten . Die Info-Methode hilft Ihnen dabei sich einen Überblick über
Ihren Datenrahmen zu verschaffen, einschließlich vieler Informationen wie der
Gesamtzahl der
Zeilen und Spalten, der
Anzahl der
Nicht-Null-Werte in jeder Spalte, Speicherverbrauch und mehr. Die Describe-Methode bietet eine statistische Beschreibung der numerischen Daten
im Datenrahmen. Auf dieser Grundlage können Sie sich leicht einen Überblick über
die Verteilung und Statistik Ihres numerischen Datensatzes verschaffen. Es umfasst die mittlere
Standardabweichung, minimale und das maximale
Quartil und mehr Es gibt auch eine
leistungsstarke Python-Bibliothek namens SQL Alchemy
, mit der Sie mit
SQL-Datenbanken in Pandas arbeiten können Dies ist besonders nützlich, wenn Sie große Datensätze mithilfe von SGWL-Abfragen
effektiv speichern
oder abrufen und
verarbeiten möchten große Datensätze mithilfe von SGWL-Abfragen
effektiv speichern
oder abrufen und
verarbeiten SQL Alchemy ist eine beliebte Bibliothek für die Interaktion mit relationalen
Datenbanken SQLite ist eine weitere Option,
bei der es sich um ein eingebettetes leistungsstarkes relationales
Datenbankverwaltungssystem handelt
, das einfach zu bedienen ist und keinen Es ermöglicht die Speicherung
und Verwaltung von Daten in einem lokalen Dateispeicher ohne dass ein
separater Datenserver erforderlich Nun, lassen Sie sich
von diesem Code nicht einschüchtern. Es ist Standard. Sie können es einfach
aus der Dokumentation kopieren. Alles, was Sie jetzt tun müssen,
ist zu verstehen, was es tut. Hier importieren und erstellen wir eine Engine, um eine Verbindung
zur Datenbank herzustellen. Angenommen, Sie müssen Daten von
einem Pandas-Datenrahmen in
eine Datenbank
übertragen , wo Sie weiter
damit arbeiten
oder sie für zukünftige Analysen speichern können oder sie für zukünftige Analysen speichern Ich werde zeigen,
wie das geht. Wir haben eine Engine erstellt, die
mit der Testdatenbank verbunden ist. Ich möchte Sie daran erinnern, dass Ihr
Datenrahmen so aussieht. Hier wird
die Zwei-CSV-Methode verwendet. Wir schreiben dann unsere
Daten in eine Tabelle, die ich Neue Tabelle genannt habe. Der zweite Parameter ist
natürlich unser Motor. Wie wir sehen können, haben wir gerade
fast 1 Million Zeilen in
der neuen Tabelle in
der Testdatenbank gespeichert fast 1 Million Zeilen . Versuchen wir, alles, was
wir gespeichert haben, in diese Tabelle zu lesen. Mit anderen Worten, wir
möchten unseren Datenrahmen, den wir
gerade in der Datenbank gespeichert haben, extrahieren und abrufen. Dafür verwende ich
Read SQL und zusätzlich unsere Tabelle
, aus
der wir beim ersten Parameter alles
lesen wollen . Der zweite Parameter ist die Engine, über die wir mit
der Schreibtischdatenbank verbunden sind. Ich speichere unseren extrahierten
Datenrahmen in der gelesenen DF-Variablen, und wir können sehen, was wir in der Datenbank
gespeichert haben. Und dann
konnten wir es abrufen. Hier ist es. Aber lassen Sie uns
nicht weiter darauf eingehen. Wir können nicht nur
den gesamten Datenrahmen
aus der Datenbank lesen ,
in der wir ihn gespeichert haben, sondern auch bestimmte Teile entnehmen ,
mit denen wir arbeiten möchten. Jetzt zeige ich Ihnen,
wie wir
SQL-Abfragen erstellen können , bevor wir
sie als Parameter übergeben. Zu wissen, wie man
mit SQL-Abfragen arbeitet ist für jeden sehr nützlich, egal ob Sie Datenanalyst
oder Softwareentwickler sind. Die Fähigkeit wird sich als nützlich erweisen. der ersten und einfachsten Abfrage lese
ich alle
Datensätze aus der Tabelle, und das Sternchen bedeutet, dass
ich alle Datensätze auswähle Dann übergebe ich diese Abfrage und den ersten Parameter
an dieselbe Funktion, die wir zum Lesen verwendet haben Der zweite
Parameter ist natürlich die Engine, die unsere Verbindung
zur Datenbank darstellt. Es wird ein wenig dauern. Im Wesentlichen erhalten wir
dasselbe für den gesamten Datenrahmen. Wenn ich jetzt den
Asterix durch Stadt ersetze, erhalte
ich nicht den
gesamten Datenrahmen Ich erhalte nur
die ausgewählten Zeilen. Ich werde nur das bekommen
, was wir ausgewählt haben. In meinem Fall werden es Städte sein. Um besser zu verstehen,
wie es funktioniert, versuchen
wir etwas anderes. Ich möchte alle
Informationen aus unserem Datenrahmen abrufen, aber nur für eine bestimmte Stadt. Sagen wir Ashford. Und schauen Sie, wir haben
Informationen über Immobilienverkäufe, die sich
nur auf die Stadt Ashford beziehen Das ist praktisch, und Sie müssen
keine
unnötigen Informationen
in Ihren Datenrahmen ziehen unnötigen Informationen
in Ihren Datenrahmen wenn Sie nur
mit einer bestimmten Stadt arbeiten müssen
8. Pivot-Tabellen in Pandas: Datenbereinigung und reale Datenanalyse: Wenn wir Daten erhalten, die wir verarbeiten oder analysieren
müssen. In den meisten Fällen können wir nicht sofort
damit beginnen, damit
zu arbeiten , da
es sich um Rohdaten handelt. Das Ergebnis, das wir erhalten,
wird direkt davon
beeinflusst, ob
jede Spalte mit dem
entsprechenden Datentyp
gefüllt wurde mit dem
entsprechenden Datentyp
gefüllt und ob es
leere Werte oder Nullwerte gibt. Wenn wir Daten erhalten,
ist
eine erste Analyse äußerst notwendig. Der INL-Befehl hilft dabei,
fehlende oder Nullwerte innerhalb
des Datenrahmenobjekts zu identifizieren fehlende oder Nullwerte innerhalb
des Datenrahmenobjekts Er gibt einen neuen Datenrahmen mit derselben Größe wie
der
Eingabedatenrahmen zurück , in dem jedes Element wahr ist, wenn das entsprechende
Element fehlt oder
Null ist und andernfalls verloren geht Diese Methode ist sehr nützlich für die Bereinigung und Analyse von
Daten, da sie es uns ermöglicht,
Stellen zu identifizieren , an denen in den
Originaldaten Werte fehlen. Lassen Sie mich Sie daran erinnern, wie Ihr Datenrahmen nach der Verwendung von INL
aussieht Um mit diesen fehlenden Werten umzugehen, können
wir verschiedene Methoden verwenden fillna können
wir beispielsweise leere Werte
durch einen bestimmten Wert ersetzen In meinem Fall habe ich Null verwendet. Besondere Aufmerksamkeit
sollte den Spaltennamen geschenkt werden. Mithilfe von Spalten kann ich
alle Spaltennamen als Liste abrufen und ihre Gültigkeit beurteilen. In vielen Fällen
ist das Umbenennen von Spalten aus Gründen der besseren
Lesbarkeit und Benutzerfreundlichkeit wünschenswert Dazu gehören das Entfernen
unnötiger
Anführungszeichen, das Entfernen zusätzlicher Leerzeichen, Umwandeln aller
benannten Spalten in Kleinbuchstaben und das Ersetzen von Leerzeichen
durch Unterstriche, wenn ein Spaltenname aus zwei oder mehr Wörtern
besteht Lassen Sie mich mit einem
einfachen Python-Beispiel beginnen. Nehmen wir an, wir haben eine
Variable A,
die die Zeichenfolge Nick enthält , und wir wenden
die niedrigere Methode darauf an. Dadurch werden alle Buchstaben in Kleinbuchstaben umgewandelt, was zu Nick führt anzuwenden ist jedoch
nicht möglich, diese Methode einfach
auf Datenrahmenspalten , da Spaltennamen nicht direkt als Zeichenfolgen
behandelt werden Wenn wir den Typ und den
ersten Fall und den zweiten Fall überprüfen, können
wir den Unterschied erkennen. Um sie korrekt zu verarbeiten, verwende
ich den STR-Accessor , der Zeichenkettenoperationen
für jeden Spaltennamen ermöglicht Was wir hier machen, der erste fügt mithilfe von
SDR die Namen der
Zugriffsspalten hinzu und konvertiert sie dann mit der Lower-Methode
in Kleinbuchstaben Und schließlich ersetzen Sie Leerzeichen mit der
Methode replace durch Unterstriche Dieser Ansatz ermöglicht es uns
,
Spaltennamen effizient zu bereinigen , ohne
Schleifen oder manuelle Benennung zu verwenden Wir können die Anzahl
der Zeilen reduzieren und
alle sequentiellen Befehle in
einer einzigen Zeile mit
Punktnotation ausführen alle sequentiellen Befehle in einer einzigen Zeile mit
Punktnotation Das nennt man Methodenverkettung. Nachdem ich
diese Änderungen vorgenommen
habe, muss ich
die verarbeiteten Spaltennamen
wieder dem Datenrahmen zuweisen die verarbeiteten Spaltennamen
wieder dem Datenrahmen Dieser Vorgang wird
als Datenbereinigung bezeichnet. Hier ersetzen wir leere Werte, standardisieren
Spaltennamen der Einfachheit halber und verhindern mögliche Fehler
bei der zukünftigen Datenverarbeitung Da ich beim Ausfüllen
der fehlenden Werte den Parameter nicht angegeben habe und place equals true steht, können
Sie sehen, dass sie immer noch da
sind, aber Sie können
sie auch einfach selbst durch Null ersetzen Führe einfach fill N erneut aus und
achte darauf, das Ergebnis zu speichern. Eine weitere wichtige
Methode ist Dropna
, mit der
Zeilen oder Spalten aus
einem Datenrahmen entfernt werden , der
fehlende oder Nullwerte enthält Wenn keine zusätzlichen
Parameter angegeben sind, werden standardmäßig NREM-Zeilen gelöscht, die fehlende Werte
enthalten Dies kann jedoch
dazu führen, dass alle Zeilen gelöscht
werden, wenn in einer
Spalte Werte fehlen Um anzugeben, ob wir Zeilen oder Spalten löschen möchten
, verwenden
wir den Achsenparameter. Achse ist gleich Null, standardmäßig werden Zeilen entfernt
und Achse, die gleich
eins ist, entfernt beispielsweise
Achse auf
Eins setzen, werden Spalten
statt Zeilen gelöscht, was zu Eins setzen, werden Spalten
statt Zeilen gelöscht, einem völlig
anderen
Ergebnis Wie können wir
eindeutige Werte identifizieren? Und dafür
verwenden wir eine einzigartige Methode. Es ist nützlich, um
unterschiedliche Werte in einer
bestimmten Datenrahmenspalte zu identifizieren . Dies hilft bei der Analyse von
kategorialen Daten, z. B. beim Zählen der Anzahl verschiedener Kategorien oder eindeutiger
Identifikatoren in einem Datensatz Um beispielsweise die Anzahl der
eindeutigen Städte in
der Ortsspalte zu
ermitteln , verwende
ich DF, dann Stadt in Klammern
und die Methode Und wir haben das Ergebnis. Im Gegensatz
zur Methode „Einmaliges und
Einmaliges“ wird die Anzahl der Einzelwerte in jeder
Spalte oder Zeile
eines Datenrahmens gezählt Einmaliges“ wird die Anzahl der Einzelwerte in jeder
Spalte oder Zeile
eines und hilft so bei der
Analyse der Datenverteilung. Hier haben wir 18 einzigartige Städte. Eine weitere nützliche Methode
sind Wertkonten, bei denen die Vorkommen
der einzelnen Einzelwerte in
einer Datenrahmenspalte gezählt der einzelnen Einzelwerte in
einer Datenrahmenspalte Sie gibt eine Reihe zurück, in Einzelwerte als Indizes
aufgeführt sind und deren Anzahl
als entsprechende Werte angezeigt wird Diese Methode ist
besonders hilfreich, um die Verteilung
kategorialer Daten zu
verstehen, die
häufigsten Kategorien zu
identifizieren und die Häufigkeit
von Einzelwerten zu analysieren beispielsweise
Wertkonten
für die Stadtspalte verwenden , können wir sehen
, wie oft jede einzelne Stadt
in unserem Datenrahmen vorkommt Lassen Sie mich
Ihnen nun das Konzept
der Pivot-Tabelle vorstellen . Eine Pivot-Tabelle wird verwendet, um
eine Übersichtstabelle aus Daten zu erstellen ,
die in einem Datenrahmen enthalten sind. Es hilft dabei, Daten nach
bestimmten Kriterien zu gruppieren und zu
aggregieren und
sie in einem für die Analyse
geeigneten Format anzuordnen sie in einem für die Analyse
geeigneten Format Dadurch erhalten wir
eine praktische Tabelle für weitere
Analysen und Visualisierungen Ich werde aus unseren Daten eine
Pivot-Tabelle erstellen. Ich werde die Summe der Verkäufe verwenden, den Wert
hinzufügen und für den Index möchte
ich die
Stadt und die Adresse sehen. Für die Spalten
verwende ich den Eigenschaftstyp. Schauen Sie sich die Tabelle an, die wir jetzt haben. Wir können jetzt nur
mit den Daten arbeiten, die wir benötigen. Lassen Sie uns es weiter verfeinern und die leeren Werte
ausfüllen. Und jetzt, da wir unsere Daten
verfeinert haben, können
wir zu anderen Tools übergehen. Im Prinzip werden 90%
Ihrer Arbeit das beinhalten, was wir gerade getan haben. Pandas wird häufig zur Datenmanipulation, -analyse
und -visualisierung Es eignet sich hervorragend zum Filtern,
Gruppieren und Umformen von Daten sowie zum Durchführen von Berechnungen
wie Summen Es ist auch wichtig für die Arbeit mit Zeitreihendaten und für Zusammenfassung von Informationen
mithilfe von Funktionen wie Describe oder Pivot-Tabelle Lassen Sie uns auch
Datenvisualisierung und Pandas untersuchen.
9. Pandas-Datenvisualisierung: Diagramme, Grafiken und Erkenntnisse: Datenvisualisierung
ist der Prozess der Erstellung grafischer
Darstellungen von Daten , um die Struktur zu verstehen und Muster, Trends
und Beziehungen zu
identifizieren Wir können verschiedene Diagramme,
Diagramme
und andere visuelle Elemente verwenden, um Informationen zu vermitteln und
die Datenanalyse zu erleichtern. Welches Datenformat ist für Sie
am einfachsten zu erkennen. Wenn ich Ihnen Informationen in
einem Tbar-Format und nicht in
einem visuellen Format zeige einem Tbar-Format und nicht in
einem visuellen Das visuelle Format ist
zweifellos
benutzerfreundlicher und leichter
zu verstehen Visuelle Analysen können auch
dabei helfen, Anomalien,
Ausreißer und unerwartete
Muster in den Daten zu identifizieren Ausreißer und unerwartete
Muster in Pandas, über das wir bereits
gesprochen haben, verfügt über integrierte Tools zur Datenvisualisierung, die
auf der Matlot Lip-Bibliothek basieren Mat Blot Lip ist eine
Python-Bibliothek zur Datenvisualisierung, die eine Vielzahl
von Funktionen zur Erstellung
verschiedener Arten von Diagrammen
und Diagrammen für die
Datenanalyse und -anzeige
bietet von Funktionen zur Erstellung
verschiedener Arten von Diagrammen
und Diagrammen für die
Datenanalyse und -anzeige Ich möchte wiederholen,
dass Pandas und Matlot Leap zwei verschiedene Bibliotheken sind Die integrierten
Visualisierungstools und Pandas basieren
auf Matplot Leap, bieten
jedoch
eine höhere
Abstraktionsebene und
vereinfachen den Prozess der Abstraktionsebene und
vereinfachen den Prozess Pandas basieren
auf Matplot Leap, bieten
jedoch
eine höhere
Abstraktionsebene und
vereinfachen den Prozess der Erstellung einfacher Diagramme. Die Wahl der Bibliothek hängt von Ihren spezifischen
Bedürfnissen ab. Wenn Sie Daten im
Pandas-Datenrahmen
mit einfacher Syntax schnell
visualisieren müssen , die integrierten
Visualisierungstools in Pandas möglicherweise praktischer Wenn Sie mehr Kontrolle über
die Diagramme benötigen oder
komplexere Visualisierungen erstellen müssen, Matlock Leap spezifischen Aufgaben werden oft beide Bibliotheken Abhängig von den spezifischen Aufgaben werden oft beide Bibliotheken
verwendet Beginnen wir mit den einfachsten
integrierten Tools in Python. Importieren wir wie immer alles, was wir brauchen, und erstellen wir einen
Datenrahmen mit zufälligen Daten. Die Hauptmethode für die
Visualisierung ist Plot, das für einen
Datenrahmen oder ein Serienobjekt aufgerufen werden kann. Ich habe einen
Datenrahmen erstellt und
ihn
mithilfe der Numbi-Bibliothek mit Zufallszahlen gefüllt ihn
mithilfe der Numbi-Bibliothek mit Zufallszahlen Lassen Sie uns als erstes Beispiel ein Liniendiagramm
für alle Spalten
zeichnen In den neuesten Versionen
von Jubter Node Books müssen
Sie Befehle wie
PLT show oder Mtlot leap in line
für einfache Visualisierungen im Allgemeinen nicht verwenden PLT show oder Mtlot leap in line
für einfache Visualisierungen im Mutlot springt in die Reihe, und dieser magische Befehl
wird automatisch in neueren Versionen der
Jupiter-Knotenbücher angewendet Diagramme werden also standardmäßig in einer
Linie angezeigt , ohne dass dieser
Befehl erforderlich In vielen Fällen ist es auch nicht notwendig,
PLT Show aufzurufen. In Jupiter-Notebooks werden
Plots
automatisch angezeigt, nachdem ein
Plotbefehl ausgeführt wurde Wenn Sie jedoch kontrollieren möchten, wann der Plot
wie in Skripten oder
anderen Umgebungen angezeigt wird , können Sie trotzdem PLT show verwenden Für die meisten grundlegenden
Plotaufgaben in Jupiter können
Sie also einfach Diagramme
erstellen, ohne diese Befehle zu
benötigen.
Wenn Sie in
einer anderen Umgebung oder
einem Python-Skript außerhalb
des Notebooks arbeiten einer anderen Umgebung oder
einem und möchten, dass Diagramme
automatisch angezeigt werden, ohne PLT show aufrufen zu müssen, können
Sie Als Nächstes erstellen wir ein
Histogramm für Spalte A. Ich rufe plot auf und erstelle ein Histogramm für die Ich kann den Parameter Bins ändern, die Anzahl der
Spalten in unserem Histogramm steuert Indem ich die Anzahl der Fächer
anpasse, erhalte ich entweder eine
detailliertere oder eine allgemeinere
Ansicht der Daten Als Nächstes erstellen wir ein Streudiagramm. Streudiagramme werden häufig verwendet, um Korrelationen zu identifizieren
oder Sie helfen uns zu sehen, wie
zwei Variablen interagieren. In unserem Fall wird
es nicht viel verraten, da
ich zufällige Daten habe . Bei realen Daten,
die wir in
der vorherigen Lektion behandelt haben, können
Streudiagramme jedoch die wir in
der vorherigen Lektion behandelt haben, wertvolle Erkenntnisse liefern Jetzt zeige ich Ihnen,
wie Sie anhand von Daten
aus einem Serienobjekt ein
Diagramm erstellen anhand von Daten
aus einem Serienobjekt ein
Diagramm Zuerst erstelle ich die Serie
und dann das Diagramm. Wir verwenden die Pipe-Methode, die ein Kreisdiagramm generiert das auf den Werten
unserer Serie
basiert. Sie können auch
die Prozentsätze
der einzelnen Teile des Pi anzeigen der einzelnen Teile des Pi In diesem Fall zeige ich die Prozentsätze mit
einer Dezimalstelle Kreisdiagramme werden normalerweise
verwendet, um
Proportionen oder die
prozentualen Beziehungen
zwischen verschiedenen Kategorien zu visualisieren Proportionen oder die
prozentualen Beziehungen zwischen verschiedenen Kategorien Schauen wir uns als Nächstes den Boxplot
an. Boxplots werden verwendet, um
die Verteilung von
Daten zu visualisieren, die die
Medianquartile sowie die
Minimal - und Maximalwerte zeigen Minimal Sie können auch dabei helfen, potenzielle Ausreißer zu erkennen. Sie können die
Felder entweder vertikal
oder horizontal anordnen , indem Sie
den Vert-Parameter einstellen Darüber hinaus können wir die Farben der Kappen
der Boxen
anpassen , so dass es sich dabei um graue Linien handelt, dass es sich dabei um graue Linien die die
Mediane und Schnurrhaare
darstellen Das Flächendiagramm zeigt
die Daten in Form von gestapelten Bereichen für jede
Spalte im Wenn Sie die Option
Stacked False festlegen, wird verhindert, dass sich die Bereiche
überlappen, und stattdessen werden die
aggregierten Werte
für jede Spalte separat angezeigt für Dies ist nützlich, um zu vergleichen, wie viel jede Spalte
zur Gesamtsumme beiträgt Als Nächstes zeige ich Ihnen, wie Sie
ein Hg Bin-Streudiagramm erstellen. Wir verwenden die Hg Bin-Methode
, um dieses Diagramm zu erstellen. Der Parameter Rastergröße gibt die Anzahl der im Diagramm verwendeten
Sechsecke an Eine höhere Rastergröße führt
zu einem detaillierteren Diagramm, kann
jedoch die Interpretation
erschweren Hexbin-Diagramme eignen sich
hervorragend zur Visualisierung der Dichte von Datenpunkten
in einem zweidimensionalen Raum, insbesondere bei
einer großen Anzahl von Lassen Sie uns auch die Erstellung
einer Streudiagrammmatrix untersuchen. Eine Streudiagrammmatrix visualisiert Beziehungen zwischen mehreren
Spalten eines Datenrahmens Dafür habe ich
erneut einen Datenrahmen mit
der Umpire-Bibliothek erstellt erneut einen Datenrahmen mit
der Umpire-Bibliothek Methoden wie Scatter Area, Box
und andere,
wie wir sie zuvor verwendet haben, sind
über plot und
Pandas verfügbar , da sie in die Mud Plot
Leap Integration
für grundlegende Visualisierungen integriert
sind für Streudiagrammmatrix
erfordert jedoch eine separate Eingabe, da sie mehrere
Streudiagramme gleichzeitig generiert, was sie komplexer
macht als herkömmliche Plotmethoden macht als herkömmliche Plotmethoden Also nenne ich Scattermatrix, übergebe unseren Datenrahmen Sie können die Transparenz mit
dem Alpha-Parameter 0-1 anpassen .
Stellen Sie die Größe der Abbildung Es legt die
Größe der Abbildung auf sechs mal 6 bestimmt die
Gesamtabmessungen des Diagramms besseren Lesbarkeit
und Layoutkontrolle.
Für verwendet eine
glattere Darstellung werden Schätzungen der
Kerndichte auf
der Diagonalen Jedes Diagramm auf der Diagonale zeigt die Verteilung
der einzelnen Spalten Streudiagrammmatrizen
sind nützlich, um alle Variablenpaare
in einem Datenrahmen
gleichzeitig zu
vergleichen Variablenpaare
in einem Datenrahmen so Korrelationen
und komplexe Abhängigkeiten zu identifizieren und Generieren von
Streudiagrammen für
jede Variablenkombination
kann zwar von
Streudiagrammen für
jede Variablenkombination rechenintensiv sein, aber
die
Streudiagrammmatrix vereinfacht diesen Prozess und Nun, wir haben das meiste behandelt was Pandas für die
Datenvisualisierung anbietet, aber es stehen noch
mehr Tools und Bibliotheken zur Verfügung Im Pandas-Ökosystem können
mehrere Bibliotheken bei der Visualisierung
helfen, und Sie können
nach Ihren Wünschen wählen Herzlichen Glückwunsch zum Abschluss des
Kurses. Sie verfügen jetzt über eine solide Grundlage in Pandas für Wenn Sie noch weiter gehen möchten, schauen Sie sich meine Tutorials zu
Mud Blot Leap, Seaborne
und StreamLTT an, verbessern
Sie Ihre Visualisierungs
- und Konstruktionsfähigkeiten, lernen
Sie weiter und wir sehen uns
im Sie Ihre Visualisierungs
- und Konstruktionsfähigkeiten, lernen
Sie weiter und nächsten