Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Titel
Impressum
Inhalt
Vorwort
1 Einleitung
1.1 Worum geht es in diesem Buch?
Welche Arten von Daten?
1.2 Warum Python für die Datenanalyse?
Python als Kleister
Das »Zwei-Sprachen-Problem« lösen
Warum nicht Python?
1.3 Grundlegende Python-Bibliotheken
NumPy
pandas
matplotlib
IPython und Jupyter
SciPy
scikit-learn
statsmodels
1.4 Installation und Einrichtung
Windows
Apple (OS X, macOS)
GNU/Linux
Python-Pakete installieren oder aktualisieren
Python 2 und Python 3
Integrierte Entwicklungsumgebungen (Integrated Development Environments – IDEs) und Texteditoren
1.5 Community und Konferenzen
1.6 Navigation durch dieses Buch
Codebeispiele
Daten für die Beispiele
Importkonventionen
Jargon
2 Grundlagen von Python, IPython und Jupyter-Notebooks
2.1 Der Python-Interpreter
2.2 IPython-Grundlagen
Die IPython-Shell ausführen
Das Jupyter-Notebook ausführen
Befehlsergänzung mit Tab
Introspektion
Der %run-Befehl
Code aus der Zwischenablage ausführen
Terminal-Tastenkürzel
Über magische Befehle
matplotlib-Integration
2.3 Grundlagen der Sprache Python
Sprachsemantik
Skalare Typen
Kontrollfluss
3 In Python integrierte Datenstrukturen, Funktionen und Dateien
3.1 Datenstrukturen und Sequenzen
Tupel
Listen
Eingebaute Funktionen von Sequenzen
Dictionarys
Set
List, Set und Dict Comprehensions
3.2 Funktionen
Namensraum, Gültigkeitsbereich und lokale Funktionen
Mehrere Rückgabewerte
Funktionen sind Objekte
Anonyme oder Lambda-Funktionen
Currying: teilweise Anwendung von Argumenten
Generatoren
Fehler und die Behandlung von Ausnahmen
3.3 Dateien und das Betriebssystem
Bytes und Unicode mit Dateien
3.4 Schlussbemerkung
4 Grundlagen von NumPy: Arrays und vektorisierte Berechnung
4.1 Das ndarray von NumPy: ein mehrdimensionales Array-Objekt
ndarrays erzeugen
Datentypen für ndarrays
Rechnen mit NumPy-Arrays
Einfaches Indizieren und Slicing
Boolesches Indizieren
Fancy Indexing
Arrays transponieren und Achsen tauschen
4.2 Universelle Funktionen: schnelle elementweise Array-Funktionen
4.3 Array-orientierte Programmierung mit Arrays
Bedingte Logik als Array-Operationen ausdrücken
Mathematische und statistische Methoden
Methoden für boolesche Arrays
Sortieren
Unique und andere Mengenlogik
4.4 Dateiein- und -ausgabe bei Arrays
4.5 Lineare Algebra
4.6 Erzeugen von Pseudozufallszahlen
4.7 Beispiel: Random Walks
Viele Random Walks auf einmal simulieren
4.8 Schlussbemerkung
5 Erste Schritte mit pandas
5.1 Einführung in die pandas-Datenstrukturen
Series
DataFrame
Indexobjekte
5.2 Wesentliche Funktionalität
Neuindizierung
Einträge von einer Achse löschen
Indizierung, Auswahl und Filterung
Integer-Indizes
Arithmetik und Datenausrichtung
Funktionsanwendung und Mapping
Sortieren und Rangbildung
Achsenindizes mit duplizierten Labels
5.3 Zusammenfassen und Berechnen deskriptiver Statistiken
Korrelation und Kovarianz
Eindeutigkeit, Werteanzahl und Mitgliedschaft
5.4 Schlussbemerkung
6 Laden und Speichern von Daten sowie Dateiformate
6.1 Lesen und Schreiben von Daten im Textformat
Stückweises Lesen von Textdateien
Daten in Textformaten schreiben
Arbeiten mit separierten Formaten
JSON-Daten
XML und HTML: Web-Scraping
6.2 Binäre Datenformate
Benutzung von HDF5
Lesen von Microsoft Excel-Dateien
6.3 Interaktion mit Web-APIs
6.4 Interaktion mit Datenbanken
6.5 Schlussbemerkung
7 Daten bereinigen und vorbereiten
7.1 Der Umgang mit fehlenden Daten
Fehlende Daten herausfiltern
Fehlende Daten einsetzen
7.2 Datentransformation
Duplikate entfernen
Daten mithilfe einer Funktion oder eines Mappings transformieren
Werte ersetzen
Achsenindizes umbenennen
Diskretisierung und Klassifizierung
Erkennen und Filtern von Ausreißern
Permutation und zufällige Stichproben
Berechnen von Indikator-/Platzhaltervariablen
7.3 Manipulation von Strings
Methoden von String-Objekten
Reguläre Ausdrücke
Vektorisierte String-Funktionen in pandas
7.4 Schlussbemerkung
8 Datenaufbereitung: Verknüpfen, Kombinieren und Umformen
8.1 Hierarchische Indizierung
Ebenen neu anordnen und sortieren
Zusammenfassende Statistiken nach Ebene
Indizierung mit den Spalten eines DataFrame
8.2 Kombinieren und Verknüpfen von Datensätzen
Datenbankartige Verknüpfung von DataFrames
Daten über einen Index verknüpfen
Verketten entlang einer Achse
Überlappende Daten zusammenführen
8.3 Umformen und Transponieren
Umformen mit hierarchischer Indizierung
Transponieren vom »langen« zum »breiten« Format
Transponieren vom »breiten« zum »langen« Format
8.4 Schlussbemerkung
9 Plotten und Visualisieren
9.1 Kurze Einführung in die matplotlib-API
Diagramme und Subplots
Farben, Beschriftungen und Linienformen
Skalenstriche, Beschriftungen und Legenden
Annotationen und Zeichnungen in einem Subplot
Diagramme in Dateien abspeichern
Die Konfiguration von matplotlib
9.2 Plotten mit pandas und seaborn
Liniendiagramme
Balkendiagramme
Histogramme und Dichteplots
Streu- oder Punktdiagramme
Facettenraster und kategorische Daten
9.3 Andere Visualisierungswerkzeuge in Python
9.4 Schlussbemerkung
10 Aggregation von Daten und Gruppenoperationen
10.1 GroupBy-Mechanismen
Iteration über Gruppen
Auswählen einer Spalte oder einer Teilmenge von Spalten
Gruppieren mit Dictionarys und Series
Gruppieren mit Funktionen
Gruppieren nach Ebenen eines Index
10.2 Aggregation von Daten
Spaltenweise und mehrfache Anwendung von Funktionen
Aggregierte Daten ohne Zeilenindizes zurückgeben
10.3 Apply: Allgemeine Operationen vom Typ split-apply-combine
Unterdrücken der Gruppenschlüssel
Analyse von Quantilen und Größenklassen
Beispiel: Fehlende Daten mit gruppenspezifischen Werten auffüllen
Beispiel: Zufällige Stichproben und Permutation
Beispiel: Gewichteter Mittelwert für Gruppen und Korrelation
Beispiel: Gruppenweise lineare Regression
10.4 Pivot-Tabellen und Kreuztabellierung
Kreuztabellen
10.5 Schlussbemerkung
11 Zeitreihen
11.1 Datentypen und Werkzeuge für Datum und Zeit
Konvertieren zwischen String und datetime
11.2 Grundlagen von Zeitreihen
Indizieren, auswählen und Untermengen bilden
Zeitreihen mit doppelten Indizes
11.3 Datumsbereiche, Frequenzen und Verschiebungen
Erzeugen von Datumsbereichen
Frequenzen und Offsets von Kalenderdaten
Verschieben von Datumsangaben (Vorlauf und Verzögerung)
11.4 Berücksichtigung von Zeitzonen
Lokalisieren und Konvertieren von Zeitzonen
Operationen mit Zeitstempeln bei zugeordneter Zeitzone
Operationen zwischen unterschiedlichen Zeitzonen
11.5 Perioden und Arithmetik von Perioden
Umwandlung der Frequenz von Perioden
Quartalsweise Perioden
Zeitstempel zu Perioden konvertieren (und zurück)
Erstellen eines PeriodIndex aus Arrays
11.6 Resampling und Konvertieren von Frequenzen
Downsampling
Upsampling und Interpolation
Resampling mit Perioden
11.7 Funktionen mit gleitenden Fenstern
Exponentiell gewichtete Funktionen
Binäre Funktionen mit gleitendem Fenster
Benutzerdefinierte Funktionen mit gleitenden Fenstern
11.8 Schlussbemerkung
12 pandas für Fortgeschrittene
12.1 Kategorische Daten
Hintergrund und Motivation
Der Typ Categorical in pandas
Berechnungen mit Categoricals
Kategorische Methoden
12.2 Erweiterter Einsatz von GroupBy
Gruppentransformationen und »ausgepackte« GroupBys
Gruppiertes Zeit-Resampling
12.3 Techniken für die Verkettung von Methoden
Die Methode pipe
12.4 Schlussbemerkung
13 Einführung in Modellierungsbibliotheken in Python
13.1 Die Kopplung zwischen pandas und dem Modellcode
13.2 Modellbeschreibungen mit Patsy herstellen
Datentransformationen in Patsy-Formeln
Kategorische Daten und Patsy
13.3 Einführung in statsmodels
Lineare Modelle schätzen
Zeitreihenprozesse schätzen
13.4 Einführung in scikit-learn
13.5 Ihre Ausbildung fortsetzen
14 Beispiele aus der Datenanalyse
14.1 1.USA.gov-Daten von Bitly
Zählen von Zeitzonen in reinem Python
Zeitzonen mit pandas zählen
14.2 MovieLens-1M-Datensatz
Messen von Unterschieden in der Bewertung
14.3 US-Babynamen von 1880–2010
Namenstrends analysieren
14.4 Die USDA-Nahrungsmitteldatenbank
14.5 Datenbank des US-Wahlausschusses von 2012
Spendenstatistik nach Beruf und Arbeitgeber
Spenden der Größe nach klassifizieren
Spendenstatistik nach Bundesstaat
14.6 Schlussbemerkung
A NumPy für Fortgeschrittene
A.1 Interna des ndarray-Objekts
Die dtype-Hierarchie in NumPy
A.2 Fortgeschrittene Manipulation von Arrays
Arrays umformen
Anordnung von Arrays in C und Fortran
Arrays verketten und aufspalten
Wiederholen von Elementen: tile und repeat
Alternativen zum Fancy Indexing: take und put
A.3 Broadcasting
Broadcasting über andere Achsen
Werte von Arrays durch Broadcasting setzen
A.4 Fortgeschrittene Nutzung von ufuncs
Instanzmethoden von ufunc
Neue ufuncs in Python schreiben
A.5 Strukturierte und Record-Arrays
Geschachtelte dtypes und mehrdimensionale Felder
Warum sollte man strukturierte Arrays verwenden?
A.6 Mehr zum Thema Sortieren
Indirektes Sortieren: argsort und lexsort
Alternative Sortieralgorithmen
Arrays teilweise sortieren
numpy.searchsorted: Elemente in einem sortierten Array finden
A.7 Schnelle NumPy-Funktionen mit Numba schreiben
Eigene numpy.ufunc-Objekte mit Numba herstellen
A.8 Ein- und Ausgabe von Arrays für Fortgeschrittene
Memory-mapped Dateien
HDF5 und weitere Möglichkeiten zum Speichern von Arrays
A.9 Tipps für eine höhere Leistung
Die Bedeutung des zusammenhängenden Speichers
B Mehr zum IPython-System
B.1 Die Befehlshistorie benutzen
Die Befehlshistorie durchsuchen und wiederverwenden
Eingabe- und Ausgabevariablen
B.2 Mit dem Betriebssystem interagieren
Shell-Befehle und -Aliase
Das Verzeichnis-Bookmark-System
B.3 Werkzeuge zur Softwareentwicklung
Interaktiver Debugger
Zeitmessung bei Code: %time und %timeit
Grundlegende Profilierung: %prun and %run -p
Eine Funktion Zeile für Zeile profilieren
B.4 Tipps für eine produktive Codeentwicklung mit IPython
Modulabhängigkeiten neu laden
Tipps für das Codedesign
B.5 Fortgeschrittene IPython-Funktionen
Ihre eigenen Klassen IPython-freundlich gestalten
Profile und Konfiguration
B.6 Schlussbemerkung
Index
Über den Autor
Über die Übersetzer
Kolophon
Fußnoten
← Prev
Back
Next →
← Prev
Back
Next →