Datentypbeschränkungen

Datenbereinigung in Python

Adel Nehme

VP of AI Curriculum, DataCamp

Gliederung des Kurses

dirty_data

Datenbereinigung in Python

Gliederung des Kurses

Nebenwirkungen

Datenbereinigung in Python

Gliederung des Kurses

clean_data

Datenbereinigung in Python

Gliederung des Kurses

clean_data

Kapitel 1 – Häufige Probleme mit Daten

Datenbereinigung in Python

Warum müssen wir Daten bereinigen?

ds_workflow

Datenbereinigung in Python

Warum müssen wir Daten bereinigen?

ds_workflow

Datenbereinigung in Python

Warum müssen wir Daten bereinigen?

                                                                                   Garbage in Garbage out

Datenbereinigung in Python

Datentypbeschränkungen

Datentyp Beispiel
Textdaten Vorname, Nachname, Adresse ...
Integers Anzahl Abonnenten, Anzahl verkaufte Produkte ...
Dezimalzahlen Temperatur, €-Wechselkurse ...
Binär Verheiratet, Neukunde, ja/nein, ...
Datumsangaben Bestelltermine, Versandtermine ...
Kategorien Familienstand, Geschlecht ...
Python Datentypen
str
int
float
bool
datetime
category
Datenbereinigung in Python

Zeichenfolgen zu Ganzzahlen

# Import CSV file and output header
sales = pd.read_csv('sales.csv')
sales.head(2)
   SalesOrderID    Revenue    Quantity
0         43659     23153$          12
1         43660      1457$           2
# Get data types of columns
sales.dtypes
SalesOrderID    int64
Revenue         object
Quantity        int64
dtype: object
Datenbereinigung in Python

Zeichenfolgen zu Ganzzahlen

# Get DataFrame information
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
Datenbereinigung in Python

Zeichenfolgen zu Ganzzahlen

# Print sum of all Revenue column
sales['Revenue'].sum()
'23153$1457$36865$32474$472$27510$16158$5694$6876$40487$807$6893$9153$6895$4216..
# Remove $ from Revenue column
sales['Revenue'] = sales['Revenue'].str.strip('$')
sales['Revenue'] = sales['Revenue'].astype('int')
# Verify that Revenue is now an integer
assert sales['Revenue'].dtype == 'int'
Datenbereinigung in Python

Die assert-Anweisung

# This will pass
assert 1+1 == 2
# This will not pass
assert 1+1 == 3
AssertionError                            Traceback (most recent call last)
         assert 1+1 == 3
AssertionError:
Datenbereinigung in Python

Numerisch oder kategorisch?

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

0 = Nie verheiratet       1 = Verheiratet       2 = Getrennt       3 = Geschieden

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

Numerisch oder kategorisch?

# Convert to categorical
df["marriage_status"] = df["marriage_status"].astype('category')

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

Lass uns üben!

Datenbereinigung in Python

Preparing Video For Download...