Heim  >  Artikel  >  Backend-Entwicklung  >  DataFrame nutzt Pandas für die Datenverarbeitung

DataFrame nutzt Pandas für die Datenverarbeitung

coldplay.xixi
coldplay.xixinach vorne
2020-09-15 16:20:054244Durchsuche

DataFrame nutzt Pandas für die Datenverarbeitung

Verwandte Lernempfehlungen: Python-Tutorial

Dies ist der zweite Artikel zum Thema Pandas-Datenverarbeitung. Sprechen wir über die wichtigste Datenstruktur in Pandas – DataFrame.

Im vorherigen Artikel haben wir die Verwendung von Series vorgestellt und auch erwähnt, dass Series einem eindimensionalen Array entspricht, Pandas jedoch viele praktische und benutzerfreundliche APIs für uns kapselt. Der DataFrame kann einfach als ein Diktat verstanden werden, das aus Series besteht und so die Daten in eine zweidimensionale Tabelle zusammenfügt. Es bietet uns außerdem viele Schnittstellen für die Datenverarbeitung auf Tabellenebene und die Stapeldatenverarbeitung, wodurch die Schwierigkeit der Datenverarbeitung erheblich verringert wird.

DataFrame erstellen

DataFrame ist eine tabellarische Datenstruktur, nämlich

Zeilenindex und Spaltenindex, mit denen wir die entsprechenden Zeilen und Spalten einfach abrufen können. Dadurch wird die Schwierigkeit, Daten für die Datenverarbeitung zu finden, erheblich reduziert.

Beginnen wir zunächst mit der einfachsten Frage, wie man einen DataFrame erstellt.

Erstellt aus einem Wörterbuch

Wir haben ein Diktat erstellt, sein Schlüssel ist der Spaltenname und der Wert ist eine Liste. Wenn wir dieses Diktat an den DataFrame-Konstruktor übergeben, wird es so sein

Verwenden Sie den Schlüssel als Spaltennamen und den Wert als entsprechenden Wert, um einen DataFrame für uns zu erstellen.

Wenn wir in Jupyter ausgeben, wird uns der Inhalt des DataFrame automatisch in Tabellenform angezeigt.

Aus Numpy-Daten erstellen

Wir können auch einen DataFrame aus einem zweidimensionalen Numpy-Array erstellen, ohne den Spaltennamen anzugeben, dann dienen Pandas

als Zahlen als Indizes, um Spalten für uns zu erstellen:

Wenn wir das Spaltenfeld erstellen, übergeben wir eine Zeichenfolgenliste, um den Spaltennamen dafür anzugeben:

Lesen aus Dateien

Eine weitere sehr leistungsstarke Funktion von Pandas besteht darin, dass es Daten aus Dateien in verschiedenen Formaten lesen kann, um DataFrame zu erstellen, wie z. B. häufig verwendetes Excel, CSV und sogar. Es kann auch eine Datenbank sein.

Für strukturierte Daten wie Excel, CSV, JSON usw. bietet Pandas eine spezielle API. Wir können die entsprechende API finden und verwenden:

Wenn sie in einem speziellen Format vorliegen, spielt es keine Rolle . Wir verwenden read_table, das Daten aus verschiedenen Textdateien lesen und die Erstellung durch Übergabe von Parametern wie Trennzeichen abschließen kann. Im vorherigen Artikel, der den Dimensionsreduktionseffekt von PCA überprüft, haben wir beispielsweise Daten aus einer Datei im .data-Format gelesen. Das Trennzeichen zwischen den Spalten in dieser Datei ist ein Leerzeichen, nicht das Komma oder Tabellenzeichen von csv. Wir übergeben den Parameter sep und geben das Trennzeichen an, um das Lesen der Daten abzuschließen.

Dieser Header-Parameter gibt an, welche Zeilen der Datei als Spaltennamen der Daten verwendet werden.
Der Standard-Header = 0

bedeutet, dass die erste Zeile als Spaltenname verwendet wird. Wenn der Spaltenname nicht in den Daten vorhanden ist, muss header=None angegeben werden, andernfalls treten Probleme auf. Wir müssen selten Spaltennamen mit mehreren Ebenen verwenden. Daher besteht die am häufigsten verwendete Methode darin, den Standardwert zu übernehmen oder ihn auf „Keine“ zu setzen. Unter all diesen

Methoden zum Erstellen eines DataFrames wird am häufigsten die letzte verwendet: das Lesen aus einer Datei. Denn wenn wir maschinelles Lernen betreiben oder an einigen Wettbewerben in Kaggle teilnehmen, werden uns die Daten oft vorgefertigt und in Form von Dateien zur Verfügung gestellt. Es gibt nur sehr wenige Fälle, in denen wir Daten selbst erstellen müssen. Wenn es sich um ein tatsächliches Arbeitsszenario handelt, werden die Daten zwar nicht in Dateien gespeichert, es gibt jedoch eine Quelle, die normalerweise auf einigen Big-Data-Plattformen gespeichert ist, und das Modell erhält Trainingsdaten von diesen Plattformen.

Im Allgemeinen verwenden wir selten andere Methoden zum Erstellen von DataFrame. Wir haben ein gewisses Verständnis und konzentrieren uns darauf, die Methode zum Lesen aus Dateien zu beherrschen.

Allgemeine Operationen

Im Folgenden werden einige gängige Operationen von Pandas vorgestellt, die ich bereits kannte, bevor ich lernte, Pandas systematisch zu verwenden. Der Grund, sie zu verstehen, ist ebenfalls sehr einfach, da sie so häufig verwendet werden, dass man sagen kann, dass es sich um „Inhalte des gesunden Menschenverstandes handelt, die bekannt und verstanden werden müssen“.

Wenn wir die DataFrame-Instanz in Jupyter ausführen, werden alle Daten im DataFrame für uns gedruckt. Wenn zu viele Datenzeilen vorhanden sind, wird der mittlere Teil weggelassen Form von Ellipsen. Bei einem DataFrame mit einer großen Datenmenge geben wir ihn im Allgemeinen nicht direkt auf diese Weise aus, sondern zeigen die ersten oder letzten Datenelemente an. Hier werden zwei APIs benötigt.

Die Methode zum Anzeigen der ersten Datenelemente heißt head

Sie akzeptiert einen Parameter und ermöglicht es uns, ihn anzugeben, um die Anzahl der Daten anzuzeigen, die wir von Anfang an angeben.

Da es eine API zum Anzeigen der ersten paar Elemente gibt, gibt es auch eine API zum Anzeigen der letzten paar Elemente. Eine solche API heißt
tail

. Dadurch können wir die zuletzt angegebene Anzahl von Daten im DataFrame anzeigen:

Wir haben bereits erwähnt, dass dies für DataFrame tatsächlich der Fall ist entspricht der Kombination von Series dict. Da es sich um ein Diktat handelt, können wir die angegebene Serie natürlich basierend auf dem Schlüsselwert erhalten.

Es gibt zwei Methoden, um die angegebenen Spalten in DataFrame abzurufen. Wir können

Spaltennamen hinzufügen

oder wir können Elemente durch Diktieren finden zur Abfrage:

Wir können auch
gleichzeitig mehrere Spalten lesen

Wenn mehrere Spalten vorhanden sind, wird nur eine Methode unterstützt, nämlich das Abfragen von Elementen über dict. Es ermöglicht den Empfang einer eingehenden Liste und das Auffinden der Daten, die den Spalten in der Liste entsprechen. Das zurückgegebene Ergebnis ist ein neuer DataFrame, der aus diesen neuen Spalten besteht.

Wir können del verwenden, um eine Spalte zu löschen, die wir nicht benötigen:

Es ist auch sehr einfach, dem DataFrame direkt einen Wert zuzuweisen, wie bei der Diktatzuweisung:

Das Zuweisungsobjekt ist nicht nur eine reelle Zahl,
kann auch ein Array sein

:

Es ist für uns sehr einfach, eine bestimmte Spalte zu ändern, und wir können die Originaldaten dadurch überschreiben gleiche Zuordnungsmethode.

Manchmal ist es für uns unpraktisch, Pandas zu verwenden. Wenn wir die entsprechenden Originaldaten erhalten möchten, können wir .values ​​direkt verwenden, um das Numpy-Array abzurufen entsprechend

DataFrame:

Da jede Spalte im DataFrame einen separaten Typ hat
und nach der Konvertierung in ein Numpy-Array alle Daten denselben Typ haben. Dann findet Pandas einen gemeinsamen Typ für alle Spalten, weshalb man oft einen Objekttyp erhält. Daher ist es am besten, den Typ vor der Verwendung von .values ​​zu überprüfen, um sicherzustellen, dass aufgrund des Typs keine Fehler auftreten.

ZusammenfassungIm heutigen Artikel haben wir etwas über die Beziehung zwischen DataFrame und Series gelernt und außerdem einige Grundlagen und die allgemeine Verwendung von DataFrame kennengelernt. Obwohl DataFrame ungefähr als ein aus Reihen bestehendes Diktat betrachtet werden kann, ist es tatsächlich eine separate Datenstruktur, verfügt aber auch über viele eigene APIs, unterstützt viele ausgefallene Operationen und ist für uns ein leistungsstarkes Werkzeug zur Datenverarbeitung.

Einige Berufsorganisationen haben Statistiken erstellt. Für einen Algorithmus-Ingenieur werden etwa 70 % der Zeit in die Datenverarbeitung investiert. Der tatsächliche Zeitaufwand für das Schreiben des Modells und das Anpassen der Parameter kann weniger als 20 % betragen. Daraus können wir die Notwendigkeit und Bedeutung der Datenverarbeitung erkennen. Im Bereich Python ist Pandas das beste Skalpell und die beste Toolbox für die Datenverarbeitung. Ich hoffe, dass jeder es beherrschen kann.

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik „PHP-Schulung“!

Das obige ist der detaillierte Inhalt vonDataFrame nutzt Pandas für die Datenverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen