Pandas

Pandas-Tutorial in Python

Pandas-Tutorial in Python
In dieser Lektion zur Python-Pandas-Bibliothek werden wir uns verschiedene Datenstrukturen ansehen, die dieses Python-Paket für schnelle Datenverarbeitungsfunktionen bietet, die für dynamische Daten und die Verwaltung komplexer Operationen über mehrdimensionale Daten effizient sind. In dieser Lektion werden wir hauptsächlich Folgendes behandeln:

Das sieht nach viel zu decken aus. Lass uns jetzt anfangen.

Was ist das Python Pandas-Paket??

Laut der Pandas-Homepage: pandas ist eine Open-Source-Bibliothek mit BSD-Lizenz, die leistungsstarke, einfach zu verwendende Datenstrukturen und Datenanalysetools für die Programmiersprache Python bereitstellt.

Eines der coolsten Dinge an Pandas ist, dass es das Lesen von Daten aus gängigen Datenformaten wie CSV, SQL usw. ermöglicht. sehr einfach, was es gleichermaßen für Anwendungen in Produktionsqualität oder nur für einige Demo-Anwendungen geeignet macht.

Python-Pandas installieren

Nur eine Anmerkung vor dem Start des Installationsprozesses, wir verwenden für diese Lektion eine virtuelle Umgebung, die wir mit dem folgenden Befehl erstellt haben:

python -m virtualenv pandas
Quellpandas/bin/aktivieren

Sobald die virtuelle Umgebung aktiv ist, können wir die Pandas-Bibliothek in der virtuellen Umgebung installieren, damit Beispiele, die wir als nächstes erstellen, ausgeführt werden können:

pip install pandas

Oder wir können Conda verwenden, um dieses Paket mit dem folgenden Befehl zu installieren:

conda installiere pandas

Wir sehen so etwas, wenn wir den obigen Befehl ausführen:

Sobald die Installation mit Conda abgeschlossen ist, können wir das Paket in unseren Python-Skripten wie folgt verwenden:

Pandas als pd importieren

Fangen wir jetzt an, Pandas in unseren Skripten zu verwenden.

CSV-Datei mit Pandas DataFrames lesen

Das Lesen einer CSV-Datei ist mit Pandas einfach. Zur Demonstration haben wir eine kleine CSV-Datei mit folgendem Inhalt erstellt:

Name, RollenNr, Aufnahmedatum, Notfallkontakt
Shubham,1,20-05-2012,9988776655
Gagan,2,20-05-2009,8364517829
Oshima,3,20-05-2003,5454223344
Wyom,4,20-05-2009,1223344556
Ankur,5,20-05-1999,9988776655
Vinod,6,20-05-1999,9988776655
Vipin,7,20-05-2002,9988776655
Ronak,8,20-05-2007,1223344556
DJ,9,20-05-2014,9988776655
VJ,10,20-05-2015,9988776655

Speichern Sie diese Datei im selben Verzeichnis wie das Python-Skript. Sobald die Datei vorhanden ist, fügen Sie den folgenden Codeausschnitt in eine Python-Datei ein:

Pandas als pd importieren
Studenten = pd.read_csv("Studenten.csv")
Studenten.Kopf()

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Die Funktion head() in Pandas kann verwendet werden, um eine Stichprobe von Daten anzuzeigen, die im DataFrame vorhanden sind. Warte, DataFrame? Wir werden im nächsten Abschnitt viel mehr über DataFrame studieren, aber verstehen Sie nur, dass ein DataFrame eine n-dimensionale Datenstruktur ist, die verwendet werden kann, um eine Reihe von Daten zu speichern und zu analysieren oder komplexe Operationen zu bearbeiten.

Wir können auch sehen, wie viele Zeilen und Spalten die aktuellen Daten haben:

Studenten.gestalten

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Beachten Sie, dass Pandas auch die Anzahl der Zeilen beginnend bei 0 zählen.

Es ist möglich, mit Pandas nur Spalten in einer Liste zu erhalten. Dies kann mit Hilfe von Indizierung in Pandas. Schauen wir uns ein kurzes Code-Snippet für dasselbe an:

student_names = studenten['Name']
student_names

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Aber das sieht nicht nach einer Liste aus, oder?? Nun, wir müssen explizit eine Funktion aufrufen, um dieses Objekt in eine Liste umzuwandeln:

student_names = student_names.auflisten()
student_names

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Nur für zusätzliche Informationen können wir sicherstellen, dass jedes Element in der Liste einzigartig ist und wir nur nicht leere Elemente auswählen, indem wir einige einfache Prüfungen hinzufügen, wie:

student_names = studenten['Name'].dropna().einzigartig().auflisten()

In unserem Fall ändert sich die Ausgabe nicht, da die Liste bereits keine fehlerhaften Werte enthält.

Wir können auch einen DataFrame mit Rohdaten erstellen und die Spaltennamen mitgeben, wie im folgenden Codeausschnitt gezeigt:

my_data = pd.Datenrahmen(
[
[1, "Chan"],
[2, "Schmied"],
[3, "Winslet"]
],
column=["Rang", "Nachname"]
)
meine Daten

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Aufteilen von DataFrames

Das Aufschlüsseln von DataFrames, um nur die ausgewählten Zeilen und Spalten zu extrahieren, ist eine wichtige Funktion, um die Aufmerksamkeit auf die erforderlichen Teile der Daten zu lenken, die wir verwenden müssen. Zu diesem Zweck ermöglicht uns Pandas, DataFrame nach Bedarf mit Anweisungen wie:

Im vorherigen Abschnitt haben wir bereits das Indizieren und Slicing mit Spaltennamen anstelle der Indizes gesehen. Es ist auch möglich, Slicing mit Indexnummern und Spaltennamen zu mischen. Schauen wir uns ein einfaches Code-Snippet an:

Studenten.loc[:5, 'Name']

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Es ist möglich, mehr als eine Spalte anzugeben:

Studenten.loc[:5, ['Name', 'Notfallkontakt']]

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Reihendatenstruktur in Pandas

Genau wie Pandas (eine mehrdimensionale Datenstruktur) ist eine Serie eine eindimensionale Datenstruktur in Pandas. Wenn wir eine einzelne Spalte aus einem DataFrame abrufen, arbeiten wir tatsächlich mit einer Serie:

type(students["Name"])

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Wir können auch unsere eigene Serie konstruieren, hier ist ein Code-Snippet dafür:

Reihe = pd.Serie([ 'Shubham', 3.7])
Serie

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Wie aus dem obigen Beispiel hervorgeht, kann eine Serie auch mehrere Datentypen für dieselbe Spalte enthalten.

Boolesche Filter in Pandas DataFrame

Eine der guten Eigenschaften von Pandas ist die Extraktion von Daten aus einem DataFrame basierend auf einer Bedingung. Wie das Extrahieren von Schülern nur dann, wenn die Rollennummer größer als 6 ist:

roll_filter = Students['RollNo'] > 6
roll_filter

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Das haben wir nicht erwartet. Obwohl die Ausgabe ziemlich eindeutig ist, welche Zeilen den von uns bereitgestellten Filter erfüllt haben, haben wir immer noch nicht die genauen Zeilen, die diesen Filter erfüllt haben. Es stellt sich heraus, dass wir können Filter als DataFrame-Indizes verwenden auch:

Schüler[roll_filter]

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Es ist möglich, mehrere Bedingungen in einem Filter zu verwenden, sodass die Daten nach einem kurzen Filter gefiltert werden können, wie zum Beispiel:

next_filter = (students['RollNo'] > 6) & (students['Name'] > 'S')
Studenten[nächster_filter]

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Berechnung des Medians

In einem DataFrame können wir auch viele mathematische Funktionen berechnen. Wir geben ein gutes Beispiel für die Berechnung des Medians. Der Median wird für ein Datum berechnet, nicht nur für Zahlen. Schauen wir uns ein kurzes Code-Snippet für dasselbe an:

Termine = Studenten['Zulassungsdatum'].astype('datetime64[ns]').Quantil (.5)
Termine

Sobald wir das obige Code-Snippet ausführen, sehen wir die folgende Ausgabe:

Wir haben dies erreicht, indem wir zuerst die vorhandene Datumsspalte indiziert haben und dann der Spalte einen Datentyp zur Verfügung gestellt haben, damit Pandas ihn richtig ableiten kann, wenn die Quantilfunktion zur Berechnung des Mediandatums angewendet wird.

Fazit

In dieser Lektion haben wir uns verschiedene Aspekte der Pandas-Verarbeitungsbibliothek angesehen, die wir mit Python verwenden können, um Daten aus verschiedenen Quellen in einer DataFrame-Datenstruktur zu sammeln, die es uns ermöglicht, einen Datensatz anspruchsvoll zu bearbeiten. Es ermöglicht uns auch, eine Teilmenge von Daten zu erhalten, an denen wir momentan arbeiten möchten, und bietet viele mathematische Operationen.

Bitte teilen Sie Ihr Feedback zur Lektion auf Twitter mit @sbmaggarwal und @LinuxHint.

Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...