
Datenanalyse mit Python
Beschreibung
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Weitere Details
Weitere Ausgaben
Andere Ausgaben


Personen
Inhalt
- 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
- Andere Pakete
- 1.4 Installation und Einrichtung
- Miniconda auf Windows
- GNU/Linux
- Miniconda auf macOS
- Python-Pakete installieren oder aktualisieren
- Integrierte Entwicklungsumgebungen und Texteditoren
- 1.5 Community und Konferenzen
- 1.6 Navigation durch dieses Buch
- Codebeispiele
- Daten für die Beispiele
- Importkonventionen
- 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
- 2.3 Grundlagen der Sprache Python
- Sprachsemantik
- Skalare Typen
- Kontrollfluss
- 2.4 Schlussbemerkung
- 3 In Python integrierte Datenstrukturen, Funktionen und Dateien
- 3.1 Datenstrukturen und Sequenzen
- Tupel
- Listen
- Dictionarys
- Set
- Eingebaute Funktionen von Sequenzen
- List, Set und Dictionary Comprehensions
- 3.2 Funktionen
- Namensraum, Gültigkeitsbereich und lokale Funktionen
- Mehrere Rückgabewerte
- Funktionen sind Objekte
- Anonyme oder Lambda-Funktionen
- 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 Erzeugen von Pseudozufallszahlen
- 4.3 Universelle Funktionen: schnelle elementweise Array-Funktionen
- 4.4 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.5 Dateiein- und -ausgabe bei Arrays
- 4.6 Lineare Algebra
- 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
- Fallstricke bei 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 anderen Formaten
- JSON-Daten
- XML und HTML: Web-Scraping
- 6.2 Binäre Datenformate
- Lesen von Microsoft-Excel-Dateien
- Benutzung von HDF5
- 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 Extension-Datentypen
- 7.4 Manipulation von Strings
- Methoden von String-Objekten in Python
- Reguläre Ausdrücke
- String-Funktionen in pandas
- 7.5 Kategorische Daten
- Hintergrund und Motivation
- Der Extension-Typ Categorical in pandas
- Berechnungen mit Categoricals
- Kategorische Methoden
- 7.6 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 Grundlagen zu Gruppierungsoperationen
- 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 Gruppentransformationen und »ausgepackte« GroupBys
- 10.5 Pivot-Tabellen und Kreuztabellierung
- Kreuztabellen
- 10.6 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
- Gruppiertes Zeit-Resampling
- 11.7 Funktionen mit gleitenden Fenstern
- Exponentiell gewichtete Funktionen
- Binäre Funktionen mit gleitendem Fenster
- Benutzerdefinierte Funktionen mit gleitenden Fenstern
- 11.8 Schlussbemerkung
- 12 Einführung in Modellierungsbibliotheken in Python
- 12.1 Die Kopplung zwischen pandas und dem Modellcode
- 12.2 Modellbeschreibungen mit Patsy herstellen
- Datentransformationen in Patsy-Formeln
- Kategorische Daten und Patsy
- 12.3 Einführung in statsmodels
- Lineare Modelle schätzen
- Zeitreihenprozesse schätzen
- 12.4 Einführung in scikit-learn
- 12.5 Schlussbemerkung
- 13 Beispiele aus der Datenanalyse
- 13.1 Bitly-Daten von 1.USA.gov
- Zählen von Zeitzonen in reinem Python
- Zeitzonen mit pandas zählen
- 13.2 MovieLens-1M-Datensatz
- Messen von Unterschieden in der Bewertung
- 13.3 US-Babynamen von 1880-2010
- Namenstrends analysieren
- 13.4 Die USDA-Nahrungsmitteldatenbank
- 13.5 Datenbank des US-Wahlausschusses von 2012
- Spendenstatistik nach Beruf und Arbeitgeber
- Spenden der Größe nach klassifizieren
- Spendenstatistik nach Bundesstaat
- 13.6 Schlussbemerkung
- Anhang A NumPy für Fortgeschrittene
- A.1 Interna des ndarray-Objekts
- Die Datentyphierarchie 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 Datentypen 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
- Anhang B Mehr zum IPython-System
- B.1 Tastenkürzel im Terminal
- B.2 Magische Befehle
- Der Befehl %run
- Code aus der Zwischenablage ausführen
- B.3 Die Befehlshistorie benutzen
- Die Befehlshistorie durchsuchen und wiederverwenden
- Eingabe- und Ausgabevariablen
- B.4 Mit dem Betriebssystem interagieren
- Shell-Befehle und -Aliase
- Das Verzeichnis-Bookmark-System
- B.5 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.6 Tipps für eine produktive Codeentwicklung mit IPython
- Modulabhängigkeiten neu laden
- Tipps für das Codedesign
- B.7 Fortgeschrittene IPython-Funktionen
- Profile und Konfiguration
- B.8 Schlussbemerkung
- Fußnoten
- Index
- Über den Autor
- Über die Übersetzer
- Kolophon
Systemvoraussetzungen
Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m.
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.