Beperkingen van datatypes

Data opschonen in Python

Adel Nehme

VP of AI Curriculum, DataCamp

Cursusoverzicht

dirty_data

Data opschonen in Python

Cursusoverzicht

bijwerkingen

Data opschonen in Python

Cursusoverzicht

schone_data

Data opschonen in Python

Cursusoverzicht

schone_data

Hoofdstuk 1 - Veelvoorkomende dataproblemen

Data opschonen in Python

Waarom moeten we data opschonen?

ds_workflow

Data opschonen in Python

Waarom moeten we data opschonen?

ds_workflow

Data opschonen in Python

Waarom moeten we data opschonen?

                                                                                   Garbage in, garbage out

Data opschonen in Python

Beperkingen van datatypes

Datatype Voorbeeld
Tekst Voornaam, achternaam, adres ...
Gehele getallen # abonnees, # verkochte producten ...
Decimalen Temperatuur, $-wisselkoersen ...
Binair Getrouwd, nieuwe klant, ja/nee, ...
Datums Besteldatum, verzenddatum ...
Categorieën Huwelijkse staat, gender ...
Python-datatype
str
int
float
bool
datetime
category
Data opschonen in Python

Strings naar integers

# Importeer CSV en toon kop
sales = pd.read_csv('sales.csv')
sales.head(2)
   SalesOrderID    Revenue    Quantity
0         43659     23153$          12
1         43660      1457$           2
# Haal datatypes van kolommen op
sales.dtypes
SalesOrderID    int64
Revenue         object
Quantity        int64
dtype: object
Data opschonen in Python

String naar integers

# Info over DataFrame ophalen
sales.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 31465 entries, 0 to 31464
Data columns (total 3 columns):
SalesOrderID     31465 non-null int64
Revenue          31465 non-null object
Quantity         31465 non-null int64
dtypes: int64(2), object(1)
memory usage: 737.5+ KB
Data opschonen in Python

String naar integers

# Som van de hele kolom Revenue
sales['Revenue'].sum()
'23153$1457$36865$32474$472$27510$16158$5694$6876$40487$807$6893$9153$6895$4216..
# Verwijder $ uit Revenue-kolom
sales['Revenue'] = sales['Revenue'].str.strip('$')
sales['Revenue'] = sales['Revenue'].astype('int')
# Controleer dat Revenue nu integer is
assert sales['Revenue'].dtype == 'int'
Data opschonen in Python

De assert-statement

# Dit slaagt
assert 1+1 == 2
# Dit faalt
assert 1+1 == 3
AssertionError                            Traceback (most recent call last)
         assert 1+1 == 3
AssertionError:
Data opschonen in Python

Numeriek of categorisch?

...   marriage_status    ...
...                 3    ...
...                 1    ...
...                 2    ...

0 = Nooit getrouwd       1 = Getrouwd       2 = Gescheiden van tafel en bed       3 = Gescheiden

df['marriage_status'].describe()
       marriage_status
...
mean              1.4
std               0.20
min               0.00
50%               1.8 ...
Data opschonen in Python

Numeriek of categorisch?

# Converteren naar categorisch
df["marriage_status"] = df["marriage_status"].astype('category')

df.describe()
        marriage_status
count                 241
unique                4
top                   1
freq                  120
Data opschonen in Python

Laten we oefenen!

Data opschonen in Python

Preparing Video For Download...