Die Funktionen zur Ein- und Ausgabe von Daten in pandas
sind umfangreich aber systematisch organisiert. Um beispielsweise eine .csv
Datei einzulesen und in einer Variable zu speichern verwendet man die Funktion read_csv
:
import pandas as pd
df = pd.read_csv("../data/Library_Usage.csv")
df.head()
Um einen eingelesenen Datensatz beispielsweise im .json
Textformat zu speichern verwendet man die Funktion to_json
:
df.to_json("../data/Library_Usage.json")
pandas
Paket sind statische Funktionen: Sie sind an kein konkretes Objekt gebunden, sondern werden über den Bibliotheksnamen pd
aufgerufen. Beispiele: pd.read_csv
, pd.to_numeric
, pd.crosstab
.DataFrame
oder eine Series
. Beispiele: df.to_csv
, df.corr
, df.head
, x.mean
.pd
und df
und x
in den Beispielen?Die Festplatte des Computers dient zur persistenten Speicherung von Dateien. Auch wenn der Strom weg ist, bleiben diese darauf erhalten. Die hohe Speicherfähigkeit hat ihren Preis: Die Zugriffszeiten, d.h. die Zeit die die Festplatte benötigt um z.B. Zeilen einer Textdatei zu lesen und die Werte an den Prozessor zu übergeben, sind hoch.
Deswegen gibt es neben dem Festplattenspeicher auch noch den Arbeitsspeicher (RAM). Dessen Zugriffszeiten sind wesentlich schneller, die Daten sind jedoch nicht persistent. Wenn Du z.B. eine Tabelle mit Excel öffnest, dann werden die Daten von der Festplatte in den Arbeitsspeicher geladen. Das gleiche, nur ohne graphische Oberfläche, passiert, wenn Du Daten mit dem pandas
Paket einliest.
Da normalerweise der Datensatz komplett in den Arbeitsspeicher geladen werden muss, können prinzipiell nicht beliebig große Datenmengen bearbeitet werden.
"../data/Library_Usage_Small.csv"
ein (Download hier). Er enthält nur die ersten 10 Zeilen des originalen Datensatzes (aus Performancegründen).DataFrame
als .json
ab..json
ein und speichere den DataFrame
als .html
Tabelle ab (Die .html
Datei lässt sich auch mit einem Browser öffnen)..html
Datei ein (Achtung: read_html
gibt eine Liste von DataFrame
s zurück!) und speichere den DataFrame
als .xlsx
Datei ab (Die .xlsx
Datei lässt sich auch mit Excel öffnen)..xlsx
Datei ein und speichere den DataFrame
wieder als .csv
ab. Achte darauf, den ursprünglichen originalen Datensatz nicht zu überschreiben..csv
Version mit der Version, nach der Datenrundreise. Ist alles gleich geblieben?int64
Werte, also Zahlen, die 8 Byte (=64 Bit) Speicher benötigen, kannst Du damit theoretisch in den Arbeitsspeicher laden? Tip: Nutze Google zum Umrechnen.df.memory_usage()
um Dir den tatsächlich benötigten Speicher eines DataFrames
oder einer Series
anzeigen zu lassen. Mit dem Funktionsargument deep=True
wird der Wert genau ermittelt und nicht nur geschätzt.