Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Willkommen bei Data Wrangling with Python! In diesem Buch helfen wir dir, deine Datenkenntnisse von der Tabellenkalkulation auf die nächste Stufe zu heben: Mit der Programmiersprache Python kannst du schnell und einfach verrauschte Daten in brauchbare Berichte verwandeln. Die einfache Syntax und der schnelle Einstieg in Python machen das Programmieren für jeden zugänglich.

Stell dir einen manuellen Prozess vor, den du wöchentlich durchführst, wie z.B. das Kopieren und Einfügen von Daten aus verschiedenen Quellen in ein Tabellenblatt zur Bearbeitung. Dafür brauchst du vielleicht jede Woche ein bis zwei Stunden. Aber wenn du diese Aufgabe automatisiert und mit einem Skript versehen hast, dauert die Bearbeitung vielleicht nur noch 30 Sekunden! Dadurch hast du mehr Zeit für andere Dinge oder die Automatisierung weiterer Prozesse. Oder stell dir vor, du bist in der Lage, deine Daten so umzuwandeln, dass du Aufgaben ausführen kannst, die du vorher nicht erledigen konntest, weil du einfach nicht die Fähigkeit hattest, die Informationen in ihrer jetzigen Form zu verarbeiten. Aber nachdem du die Python-Übungen in diesem Buch durchgearbeitet hast, solltest du in der Lage sein, effektiver Informationen aus Daten zu gewinnen, die du bisher für unzugänglich, zu unübersichtlich oder zu umfangreich gehalten hast.

Wir führen dich durch den Prozess der Datenerfassung, Bereinigung, Präsentation, Skalierung und Automatisierung. Unser Ziel ist es, dir beizubringen, wie du deine Daten einfach aufbereiten kannst, damit du dich mehr auf den Inhalt und die Analyse konzentrieren kannst. Wir werden die Beschränkungen deiner aktuellen Tools überwinden und die manuelle Verarbeitung durch sauberen, leicht lesbaren Python-Code ersetzen. Wenn du dieses Buch durcharbeitest, wirst du deine Datenverarbeitung automatisiert haben, Aufgaben zur Dateibearbeitung und -bereinigung geplant haben, Daten von Orten erfasst und analysiert haben, auf die du vorher vielleicht nicht zugreifen konntest, und größere Datensätze verarbeitet haben.

Mit einem projektbasierten Ansatz wird jedes Kapitel immer komplexer. Wir ermutigen dich, mitzumachen und die Methoden mit deinen eigenen Datensätzen anzuwenden. Wenn du kein bestimmtes Projekt oder keine bestimmte Untersuchung im Sinn hast, stehen dir online Beispieldatensätze zur Verfügung.

Wer sollte dieses Buch lesen?

Dieses Buch ist für Leute, die sich mit der Datenverarbeitung jenseits der Desktop-Tools beschäftigen wollen. Wenn du Excel beherrschst und deine Datenanalyse auf die nächste Stufe heben willst, wird dir dieses Buch helfen! Auch wenn du von einer anderen Sprache kommst und mit Python in die Datenanalyse einsteigen willst, wird dir dieses Buch helfen.

Wenn du auf etwas stößt, das du nicht verstehst, ermutigen wir dich, es uns mitzuteilen, damit wir den Inhalt des Buches verbessern können, aber du solltest auch darauf vorbereitet sein, dein Wissen zu ergänzen, indem du im Internet suchst oderonline nachfragst. In Anhang E haben wir ein paar Tipps zur Fehlersuche zusammengestellt, die du dir ebenfalls ansehen kannst!

Wer sollte dieses Buch nicht lesen?

Dieses Buch ist definitiv nicht für erfahrene Python-Programmierer/innen gedacht, die bereits wissen, welche Bibliotheken und Techniken sie für ihre Datenverarbeitung verwenden müssen (für diese Leute empfehlen wir Wes McKinneys Python for Data Analysis, ebenfalls von O'Reilly). Wenn du ein erfahrener Python-Entwickler oder ein Entwickler in einer anderen Sprache mit Datenanalysefunktionen (Scala, R) bist, ist dieses Buch wahrscheinlich nichts für dich. Wenn du jedoch ein erfahrener Entwickler in einer Websprache bist, die nicht über Datenanalysefunktionen verfügt (PHP, JavaScript), kannst du mit diesem Buch Python durch Datenmanipulation kennenlernen.

Wie dieses Buch organisiert ist

Die Struktur des Buches folgt der Lebensspanne eines durchschnittlichen Datenanalyseprojekts oder einer Geschichte. Es beginnt mit der Formulierung einer Frage, dann geht es weiter mit der Beschaffung der Daten, der Datenbereinigung, der Untersuchung der Daten, der Kommunikation der Datenergebnisse, der Skalierung mit größeren Datensätzen und schließlich der Automatisierung des Prozesses. Dieser Ansatz ermöglicht es dir, von einfachen Fragen zu komplexeren Problemen und Untersuchungen überzugehen. Bevor wir uns mit fortgeschrittenen Datenerfassungstechniken befassen, werden wir uns mit den grundlegenden Mitteln zur Kommunikation deiner Ergebnisse beschäftigen.

Wenn das Material in einigen dieser Kapitel nicht neu für dich ist, kannst du das Buch als Nachschlagewerk verwenden oder Abschnitte überspringen, mit denen du bereits vertraut bist. Wir empfehlen dir jedoch, die Inhalte der einzelnen Kapitel kurz zu lesen, damit du keine neuen Ressourcen und Techniken verpasst.

Was ist Data Wrangling?

Beim Data Wrangling geht es darum, eine unordentliche oder nicht aufbereitete Datenquelle in etwas Nützliches zu verwandeln. Du beginnst damit, rohe Datenquellen ausfindig zu machen und ihren Wert zu bestimmen: Wie gut sind sie als Datensätze? Wie relevant sind sie für dein Ziel? Gibt es eine bessere Quelle? Sobald du die Daten analysiert und bereinigt hast, kannst du Tools und Methoden (wie Python-Skripte) nutzen, um sie zu analysieren und deine Ergebnisse in einem Bericht zu präsentieren. Auf diese Weise kannst du Daten, die sich sonst niemand ansehen würde, übersichtlich und umsetzbar machen.

Was du tun kannst, wenn du feststeckst

Mach dir nichts draus - das passiert jedem! Betrachte den Prozess des Programmierens als eine Reihe von Ereignissen, bei denen du immer wieder stecken bleibst. Wenn du nicht weiterkommst und das Problem löst, erwirbst du Wissen, das es dir ermöglicht, als Entwickler und Datenanalyst zu wachsen und zu lernen. Die meisten Menschen beherrschen das Programmieren nicht, aber sie beherrschen den Prozess, sich aus der Sackgasse zu befreien.

Welche Techniken gibt es, um das Problem zu lösen? Zunächst kannst du mit einer Suchmaschine versuchen, die Antwort zu finden. Oft wirst du feststellen, dass viele Menschen bereits mit dem gleichen Problem konfrontiert waren. Wenn du keine hilfreiche Lösung findest, kannst du deine Frage auch online stellen. In Anhang B findest du ein paar gute Online- und Praxishilfen.

Fragen zu stellen ist schwer. Aber egal, wo du in deinem Lernprozess stehst, sei nicht eingeschüchtert, wenn du die große Programmiergemeinschaft um Hilfe bittest. Eine der ersten Fragen, die eine der Autorinnen dieses Buches (Jackie) in einem öffentlichen Forum über das Programmieren gestellt hat, wurde später von vielen Leuten zitiert. Es ist ein tolles Gefühl zu wissen, dass ein neuer Programmierer wie du denen helfen kann, die nach dir kommen, weil du die Chance ergriffen und eine Frage gestellt hast, die du für dumm gehalten hast .

Wir empfehlen dir auch, "Wie man Fragen stellt" zu lesen, bevor du deine Fragen online stellst. Dort erfährst du, wie du deine Fragen so formulieren kannst, dass andere dir am besten helfen können.

Und schließlich gibt es Zeiten, in denen du im echten Leben eine zusätzliche helfende Hand brauchst. Vielleicht ist die Frage, die du hast, vielschichtig und kann nicht einfach auf einer Website oder Mailingliste gestellt oder beantwortet werden. Vielleicht ist deine Frage philosophisch oder erfordert eine Debatte oder ein Wiederaufwärmen verschiedener Ansätze. Was auch immer es sein mag, du kannst in lokalen Python-Gruppen Leute finden, die deine Frage beantworten können. Um ein lokales Meetup zu finden, versuche es mit Meetup. In Kapitel 1 findest du genauere Informationen darüber, wie du hilfreiche und unterstützende Gemeinschaften finden kannst.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Zeigt neue Begriffe, URLs, E-Mail-Adressen, Dateinamen, Verzeichnisnamen und -pfade sowie Dateierweiterungen an.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Code-Beispiele verwenden

Wir haben ein Daten-Repository auf GitHub unter https://github.com/jackiekazil/data-wrangling eingerichtet. In diesem Repository findest du die Daten, die wir verwendet haben, sowie einige Codebeispiele, die dir beim Nachvollziehen helfen. Wenn du Probleme im Repository findest oder Fragen hast, melde uns bitte einen Fehler.

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.

Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Data Wrangling with Python " von Jacqueline Kazil und Katharine Jarmul (O'Reilly). Copyright 2016 Jacqueline Kazil und Kjamistan, Inc. 978-1-4919-4881-1."

Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Safari

Hinweis

Safari (ehemals Safari Books Online) ist eine mitgliedschaftsbasierte Schulungs- und Nachschlageplattform für Unternehmen, Behörden, Lehrkräfte und Einzelpersonen.

Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos, Lernpfaden, interaktiven Tutorials und kuratierten Playlists von über 250 Verlagen, darunter O'Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett und Course Technology, um nur einige zu nennen.

Weitere Informationen erhältst du unter http://oreilly.com/safari.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter http://bit.ly/data_wrangling_w_python aufrufen .

Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://www.youtube.com/oreillymedia

Danksagungen

Die Autoren möchten sich bei ihren Redakteurinnen Dawn Schanafelt und Meghan Blanchette für ihre großartige Hilfe, Arbeit und Mühe bedanken - ohne euch wäre das Buch nicht möglich gewesen. Sie möchten auch ihren technischen Redakteuren Ryan Balfanz, Sarah Boslaugh, Kat Calvin und Ruchi Parekh für ihre Hilfe bei der Bearbeitung von Codebeispielen und beim Nachdenken über die Zielgruppe des Buches danken.

Jackie Kazil möchte sich bei Josh, ihrem Mann, für die Unterstützung bei diesem Abenteuer bedanken -von Ermutigung bis hin zu Muffins. Das Haus wäre manchmal zusammengebrochen, wenn er nicht da gewesen wäre, um es aufrecht zu erhalten. Sie möchte sich auch bei Katharine (Kjam) für die Zusammenarbeit bedanken. Ohne Kjam gäbe es dieses Buch nicht, und sie freut sich, dass wir nach Jahren der Trennung wieder zusammenarbeiten konnten. Schließlich möchte sie sich auch bei ihrer Mutter Lydie bedanken, die ihr viele der Fähigkeiten - außer Englisch - vermittelt hat, die für die Fertigstellung dieses Buches nötig waren.

Katharine Jarmul möchte sich ganz besonders bei ihrem Partner Aaron Glenn für die unzähligen Stunden bedanken, in denen sie laut nachgedacht, nachgelesen, darüber debattiert hat, ob Unix groß geschrieben werden sollte, und in denen sie leckere Pasta gekocht hat, während sie schrieb. Sie möchte sich bei ihren vier Eltern für ihre Geduld mit endlosen Buchaktualisierungen und Dongglocken bedanken. Sie möchte auch Frau Hoffmann für ihre endlose Geduld bei zahllosen Gesprächen auf Deutsch über dieses Buch bedanken.

Get Data Wrangling mit Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.