
Datenanalyse mit Python
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Persons
Content
- 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
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.