Introductie tot DataFrames

Datamanipulatie met pandas

Richie Cotton

Data Evangelist at DataCamp

Waar is pandas goed voor?

Datamanipulatie met pandas

Cursusoverzicht

  • Hoofdstuk 1: DataFrames
    • Sorteren en subsetten
    • Nieuwe kolommen maken
  • Hoofdstuk 2: Gegevens aggregeren
    • Samenvattingsstatistieken
    • Tellen
    • Gegroepeerde samenvattingsstatistieken
  • Hoofdstuk 3: Slicen en indexeren van data

    • Subsetten met slicing
    • Indexen en subsetten met indexen
  • Hoofdstuk 4: Data maken en visualiseren

    • Plotten
    • Ontbrekende waarden afhandelen
    • Data inlezen in een DataFrame
Datamanipulatie met pandas

pandas is gebouwd op NumPy en Matplotlib

Een driehoek boven op twee rechthoeken. De driehoek stelt het pakket pandas voor, de rechthoeken NumPy en matplotlib.

Datamanipulatie met pandas

pandas is populair

De panda-emoji, honderden keren herhaald, die de vele gebruikers van pandas voorstellen.

1 https://pypistats.org/packages/pandas
Datamanipulatie met pandas

Rechthoekige data

Naam Ras Kleur Hoogte (cm) Gewicht (kg) Geboortedatum
Bella Labrador Bruin 56 25 2013-07-01
Charlie Poedel Zwart 43 23 2016-09-16
Lucy Chow Chow Bruin 46 22 2014-08-25
Cooper Schnauzer Grijs 49 17 2011-12-11
Max Labrador Zwart 59 29 2017-01-20
Stella Chihuahua Tan 18 2 2015-04-20
Bernie St. Bernard Wit 77 74 2018-02-27
Datamanipulatie met pandas

pandas-DataFrames

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
Datamanipulatie met pandas

Een DataFrame verkennen: .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
Datamanipulatie met pandas

Een DataFrame verkennen: .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
Datamanipulatie met pandas

Een DataFrame verkennen: .shape

print(dogs.shape)
(7, 6)
Datamanipulatie met pandas

Een DataFrame verkennen: .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
Datamanipulatie met pandas

Onderdelen van een DataFrame: .to_numpy()

print(dogs.to_numpy())
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)
Datamanipulatie met pandas

Onderdelen van een DataFrame: .columns en .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)
Datamanipulatie met pandas

Filosofie van pandas

Er moet één — en bij voorkeur slechts één — voor de hand liggende manier zijn om het te doen.

     - The Zen of Python door Tim Peters, item 13

Een groen Zwitsers zakmes

1 https://www.python.org/dev/peps/pep-0020/
Datamanipulatie met pandas

Laten we oefenen!

Datamanipulatie met pandas

Preparing Video For Download...