Sicher verstaut - Deduplizierung spart Platz, Cloud-Backup für Windows, Areca sichert kostenlos. ADMIN 01/14 stellt Backups für Profis mit und ohne Cloud ... (mehr)

Verschiedene Formate

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.

Daten!

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.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019