Einführung in DataFrames

Datenbearbeitung mit pandas

Richie Cotton

Data Evangelist at DataCamp

Sinn und Zweck von pandas

Datenbearbeitung mit pandas

Gliederung des Kurses

  • Kapitel 1: DataFrames
    • Sortierung und Teilmengen
    • Erstellung neuer Spalten
  • Kapitel 2: Datenaggregation
    • Zusammenfassende Kennzahlen
    • Zählungen
    • Gruppierte zusammenfassende Kennzahlen
  • Kapitel 3: Slices und Indizierung

    • Teilmengen mit Slices
    • Indizes und Teilmengen mit Indizes
  • Kapitel 4: Datenerstellung und Visualisierung

    • Diagramme
    • Umgang mit fehlenden Daten
    • Einlesen von Daten in DataFrames
Datenbearbeitung mit pandas

pandas stützt sich auf NumPy und Matplotlib

Ein Dreieck stützt sich auf zwei Rechtecke. Das Dreieck steht für das Paket pandas, während die Rechtecke die Pakete NumPy und Matplotlib darstellen.

Datenbearbeitung mit pandas

pandas ist beliebt

Hunderte Panda-Emojis repräsentieren die vielen Nutzer von pandas.

1 https://pypistats.org/packages/pandas
Datenbearbeitung mit pandas

Tabellarische Daten

Name Rasse Farbe Größe (cm) Gewicht (kg) Geburtsdatum
Bella Labrador Braun 56 25 2013-07-01
Charlie Pudel Schwarz 43 23 2016-09-16
Lucy Chow-Chow Braun 46 22 2014-08-25
Cooper Schnauzer Grau 49 17 2011-12-11
Max Labrador Schwarz 59 29 2017-01-20
Stella Chihuahua Hellbraun 18 2 2015-04-20
Bernie Bernhardiner Weiß 77 74 2018-02-27
Datenbearbeitung mit pandas

DataFrames in pandas

print(dogs)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
5   Stella    Chihuahua    Tan         18          2    2015-04-20
6   Bernie  St. Bernard  White         77         74    2018-02-27
Datenbearbeitung mit pandas

Struktur von DataFrames: .head()

print(dogs.head())
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
Datenbearbeitung mit pandas

Struktur von DataFrames: .info()

print(dogs.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7 entries, 0 to 6
Data columns (total 6 columns):
 #   Column         Non-Null Count  Dtype 
 --  ------         --------------  ----- 
 0   name           7 non-null      object
 1   breed          7 non-null      object
 2   color          7 non-null      object
 3   height_cm      7 non-null      int64 
 4   weight_kg      7 non-null      int64 
 5   date_of_birth  7 non-null      object
dtypes: int64(2), object(4)
memory usage: 464.0+ bytes
Datenbearbeitung mit pandas

Struktur von DataFrames: .shape

print(dogs.shape)
(7, 6)
Datenbearbeitung mit pandas

Struktur von DataFrames: .describe()

print(dogs.describe())
       height_cm  weight_kg
count   7.000000   7.000000
mean   49.714286  27.428571
std    17.960274  22.292429
min    18.000000   2.000000
25%    44.500000  19.500000
50%    49.000000  23.000000
75%    57.500000  27.000000
max    77.000000  74.000000
Datenbearbeitung mit pandas

Bestandteile von DataFrames: .values

print(dogs.values)
array([['Bella', 'Labrador', 'Brown', 56, 24, '2013-07-01'],
       ['Charlie', 'Poodle', 'Black', 43, 24, '2016-09-16'],
       ['Lucy', 'Chow Chow', 'Brown', 46, 24, '2014-08-25'],
       ['Cooper', 'Schnauzer', 'Gray', 49, 17, '2011-12-11'],
       ['Max', 'Labrador', 'Black', 59, 29, '2017-01-20'],
       ['Stella', 'Chihuahua', 'Tan', 18, 2, '2015-04-20'],
       ['Bernie', 'St. Bernard', 'White', 77, 74, '2018-02-27']],
      dtype=object)
Datenbearbeitung mit pandas

Bestandteile von DataFrames: .columns und .index

print(dogs.columns)
Index(['name', 'breed', 'color', 'height_cm', 'weight_kg', 'date_of_birth'],
dtype='object')
dogs.index
RangeIndex(start=0, stop=7, step=1)
Datenbearbeitung mit pandas

Philosophie von pandas

Für ein bestimmtes Programmierproblem sollte es möglichst nur eine einzige klare Lösung geben.

     – The Zen of Python von Tim Peters, Punkt 13

Ein grünes Schweizer Taschenmesser

1 https://www.python.org/dev/peps/pep-0020/
Datenbearbeitung mit pandas

Lass uns üben!

Datenbearbeitung mit pandas

Preparing Video For Download...