Selbst Excel-Dateien verarbeitet Pandas mithilfe der Klasse
»ExcelFile
«
. Ihr Konstruktor nimmt den Dateipfad entgegen; das resultierende
»ExcelFile
«
-Objekt liefert über die Methode
»parse()
«
DataFrame-Objekte aus den einzelnen Arbeitsblättern (Sheets) zurück:
excelfile = pandas.ExcelFile('datei.xls')dataframe = excelfile.parse('Sheet1')
Pandas macht sich auf Wunsch auch das Modul Pickle zunutze, das Objekte im Binärformat auf der Festplatte speichert. Hierfür bieten Series und DataFrame, ebenso wie alle anderen Pandas-Objekte, die Hilfsmethode
»save()
«
an. Sie erwartet nur die Ausgabedatei als Argument. Die Pandas-Methode
»load()
«
liest diese wiederum ein und gibt das entsprechende Objekt zurück.
Daneben bringt die Daten-Bibliothek Unterstützung für das HDF5-Format (Hierarchical Data Format) mit, das unter anderem die Mathematik-Software Matlab verwendet. Es bietet den Vorteil, dass es sich selbst bei Verwendung von Kompression auch ausschnittsweise effizient lesen lässt und eignet sich somit besonders für sehr große Datensätze.
Eine HDF5-Datei liest Pandas über die Klasse
»HDFStore
«
ein, deren Konstruktor den Dateinamen entgegennimmt. Das resultierende Objekt lässt sich ähnlich wie ein Dictionary auslesen:
hdf = HDFStore('datei.h5') s1 = hdf['s1']
Diese Aufrufe lesen die HDF-Datei
»datei.h5
«
aus, deren Datentruktur ein Series-Objekt namens
»s1
«
enthält. Dieses wird in der ebenfalls
»s1
«
genannten Variable gespeichert.
Die einmal eingelesenen Daten bringt Pandas nun mittels zahlreicher Hilfsfunktionen in Form. Zunächst vereint etwa
»merge()
«
zwei DataFrame-Objekte:
pandas.merge(dataframe1, dataframe2)
»merge()
«
vereint die Spalten der beiden Dataframes standardmäßig auf Grundlage identischer Indizes. Soll es zur Identifikation zusammengehöriger Datensätze stattdessen andere Spalten verwenden, definiert das Argument
»on
«
den betreffenden Spaltennamen. Das funktioniert selbstverständlich nur, wenn beide Dataframes eine Spalte dieses Namens enthalten.
Statt Datensätze zweier Objekte zusammenzuführen, hängt
»concat()
«
Series oder Dataframes aneinander. Im einfachsten Fall ergibt sich beispielsweise aus der Konkatenierung zweier Series-Objekte ein neues solches Objekt, das alle Einträge beider Quellobjekte nacheinander aufführt. Alternativ erzeugt
concat([series1, series2, series3], axis=1)
aus mehreren Series-Objekten ein Dataframe. In diesem Beispiel fügt die Funktion die Quellen statt zeilenweise (
»axis=0
«
) anhand der Spalten (
»axis=1
«
) zusammen.
SQL-Datenbanknutzer kennen die
»concat()
«
-Funktionalität als Joins. Standardmäßig kommt dabei die
»inner
«
-Methode zum Zuge, die zu einer Schnittmenge der verwendeten Schlüssel führt. Alternativ stehen
»outer
«
(Vereinigungsmenge) sowie
»left
«
und
»right
«
zur Verfügung. Bei den letzteren beiden enthält das Ergebnis einer Zusammenführung ausschließlich die Schlüssel des linken beziehungsweise rechten Quellobjekts.