Pandas

Pandas read_csv Tutorial

Pandas read_csv Tutorial

Pandas .read_csv

Ich habe bereits einige der Geschichte und Verwendungen für die Python-Bibliothek Pandas besprochen.  pandas wurde aus der Notwendigkeit heraus für eine effiziente Finanzdatenanalyse- und Manipulationsbibliothek für Python entwickelt for.  Um Daten zur Analyse und Manipulation zu laden, bietet Pandas zwei Methoden, DataReader und read_csv.  Ich habe das erste hier behandelt.  Letzteres ist das Thema dieses Tutorials.

.read_csv

Es gibt eine große Anzahl kostenloser Datenrepositorien im Internet, die Informationen zu verschiedenen Bereichen enthalten.  Ich habe einige dieser Ressourcen in den Abschnitt mit den Referenzen unten aufgenommen.  Da ich hier die integrierten APIs zum effizienten Abrufen von Finanzdaten demonstriert habe, werde ich in diesem Tutorial eine andere Datenquelle verwenden.

Daten.gov bietet eine riesige Auswahl an kostenlosen Daten zu allem vom Klimawandel bis hin zu U.S. Fertigungsstatistik.  Ich habe zwei Datensätze zur Verwendung in diesem Tutorial heruntergeladen.  Die erste ist die durchschnittliche Tageshöchsttemperatur für Bay County, Florida. Diese Daten wurden von der U . heruntergeladen.S. Climate Resilience Toolkit für den Zeitraum von 1950 bis heute.

Die zweite ist die Commodity Flow Survey, die die Art und das Volumen der Einfuhren in das Land über einen Zeitraum von 5 Jahren misst.

Beide Links für diese Datensätze finden Sie im Abschnitt Referenzen unten.  Das .read_csv -Methode, wie aus dem Namen hervorgeht, lädt diese Informationen aus einer CSV-Datei und instanziiert a Datenrahmen aus diesem Datensatz.

Verwendung

Jedes Mal, wenn Sie eine externe Bibliothek verwenden, müssen Sie Python mitteilen, dass sie importiert werden muss.  Unten ist die Codezeile, die die Pandas-Bibliothek importiert.

Pandas als pd importieren

Die grundlegende Verwendung der .read_csv Methode ist unten.  Dies instanziiert und füllt a Datenrahmen df mit den Informationen in der CSV-Datei.

df = pd.read_csv('12005-annual-hist-obs-tasmax.csv')

Indem wir ein paar weitere Zeilen hinzufügen, können wir die ersten und letzten 5 Zeilen des neu erstellten DataFrame überprüfen.

df = pd.read_csv('12005-annual-hist-obs-tasmax.csv')
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Der Code hat eine Spalte für das Jahr geladen, die durchschnittliche Tagestemperatur in Celsius (tasmax) und ein 1-basiertes Indexierungsschema erstellt, das für jede Datenzeile inkrementiert wird.    Es ist auch wichtig zu beachten, dass die Header aus der Datei aufgefüllt werden.  Bei der grundlegenden Verwendung der oben vorgestellten Methode wird davon ausgegangen, dass sich die Header in der ersten Zeile der CSV-Datei befinden.  Dies kann geändert werden, indem ein anderer Parametersatz an die Methode übergeben wird.

Parameter 

Ich habe den Link zu den Pandas bereitgestellt .read_csv Dokumentation in den Referenzen unten.  Es gibt mehrere Parameter, die verwendet werden können, um die Art und Weise zu ändern, wie die Daten gelesen und formatiert werden Datenrahmen.

Es gibt eine ganze Reihe von Parametern für die .read_csv Methode.  Die meisten sind nicht erforderlich, da die meisten Datensätze, die Sie herunterladen, ein Standardformat haben.  Das sind Spalten in der ersten Zeile und ein Komma-Trennzeichen.

Es gibt ein paar Parameter, die ich im Tutorial hervorheben werde, weil sie nützlich sein können.  Eine umfassendere Übersicht kann der Dokumentationsseite entnommen werden.

index_col

index_col ist ein Parameter, der verwendet werden kann, um die Spalte anzugeben, die den Index enthält.  Einige Dateien können einen Index enthalten und andere nicht.  In unserem ersten Datensatz habe ich Python einen Index erstellen lassen.  Das ist der Standard .read_csv Verhalten.

In unserem zweiten Datensatz ist ein Index enthalten. Der folgende Code lädt die loads Datenrahmen mit den Daten in der CSV-Datei, aber anstatt einen inkrementellen ganzzahligen Index zu erstellen, wird die im Datensatz enthaltene SHPMT_ID-Spalte verwendet.

df = pd.read_csv('cfs_2012_pumf_csv.txt', index_col = 'SHIPMT_ID')
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Während dieser Datensatz das gleiche Schema für den Index verwendet, können andere Datensätze einen nützlicheren Index haben.

nrows, skiprows, usecols

Bei großen Datensätzen möchten Sie möglicherweise nur Teile der Daten laden.  Das nrows, Skiprows, und Usecols Parameter ermöglichen es Ihnen, die in der Datei enthaltenen Daten zu schneiden.

df = pd.read_csv('cfs_2012_pumf_csv.txt', index_col= 'SHIPMT_ID', nrows = 50)
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Durch Hinzufügen der nrows Parameter mit einem ganzzahligen Wert von 50, der .Tail Call gibt jetzt Zeilen bis zu 50 zurück.  Die restlichen Daten in der Datei werden nicht importiert.

df = pd.read_csv('cfs_2012_pumf_csv.txt', Skiprows = 1000)
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Durch Hinzufügen der Skiprows Parameter, unser .Kopf col zeigt keinen Anfangsindex von 1001 in den Daten an.  Da wir die Kopfzeile übersprungen haben, haben die neuen Daten ihre Kopfzeile und den Index basierend auf den Dateidaten verloren lost.  In einigen Fällen ist es möglicherweise besser, Ihre Daten in einem Datenrahmen anstatt die Daten zu laden.

Das Usecols ist ein nützlicher Parameter, mit dem Sie nur eine Teilmenge der Daten nach Spalte importieren können.  Es kann ein nullter Index oder eine Liste von Strings mit den Spaltennamen übergeben werden.  Ich habe den folgenden Code verwendet, um die ersten vier Spalten in unser neues zu importieren Datenrahmen.

df = pd.read_csv('cfs_2012_pumf_csv.TXT',
index_col = 'SHIPMT_ID',
nrows = 50, usecols = [0,1,2,3] )
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Von unserem neuen .Kopf ruf an, unsere Datenrahmen enthält jetzt nur noch die ersten vier Spalten des Datensatzes.

Motor

Ein letzter Parameter, der meiner Meinung nach in einigen Datensätzen nützlich sein würde, ist der Motor Parameter.  Sie können entweder die C-basierte Engine oder den Python-basierten Code verwenden.  Der C-Motor wird natürlich schneller.  Dies ist wichtig, wenn Sie große Datensätze importieren.  Die Vorteile des Python-Parsings sind ein funktionsreicheres Set.  Dieser Vorteil kann weniger bedeuten, wenn Sie große Datenmengen in den Arbeitsspeicher laden.

df = pd.read_csv('cfs_2012_pumf_csv.TXT',
index_col = 'SHIPMT_ID', Engine = 'c' )
drucken (df.Kopf(5))
drucken (df.Schwanz(5))

Nachverfolgen

Es gibt mehrere andere Parameter, die das Standardverhalten des .read_csv Methode.  Sie können auf der Docs-Seite gefunden werden, auf die ich unten verwiesen habe.  .read_csv ist eine nützliche Methode zum Laden von Datensätzen in Pandas zur Datenanalyse.  Da viele der kostenlosen Datensätze im Internet keine APIs haben, ist dies am nützlichsten für Anwendungen außerhalb von Finanzdaten, bei denen robuste APIs zum Importieren von Daten in Pandas vorhanden sind.

Verweise

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
https://www.Daten.Regierung/
https://toolkit.Klima.gov/#klima-explorer
https://www.Volkszählung.gov/econ/cfs/pums.html

Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...
OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...
OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....