Constrângeri de tip de date

Curățarea datelor în Python

Adel Nehme

VP of AI Curriculum, DataCamp

Structura cursului

date murdare

Curățarea datelor în Python

Structura cursului

efecte secundare

Curățarea datelor în Python

Structura cursului

date curate

Curățarea datelor în Python

Structura cursului

date curate

Capitolul 1 - Probleme comune cu datele

Curățarea datelor în Python

De ce trebuie să curățăm datele?

fluxul de lucru ds

Curățarea datelor în Python

De ce trebuie să curățăm datele?

fluxul de lucru ds

Curățarea datelor în Python

De ce trebuie să curățăm datele?

                                                                                   Gunoi la intrare, gunoi la ieșire

Curățarea datelor în Python

Constrângeri de tip de date

Tip de date Exemplu
Date text Prenume, nume, adresă ...
Întregi # Abonați, # produse vândute ...
Zecimale Temperatură, rate de schimb valutar ...
Binare Este căsătorit, client nou, da/nu, ...
Date calendaristice Date comenzi, date livrare ...
Categorii Stare civilă, gen ...
Tip de date Python
str
int
float
bool
datetime
category
Curățarea datelor în Python

Șiruri de caractere la întregi

# 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
Curățarea datelor în Python

Șiruri de caractere la întregi

# 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
Curățarea datelor în Python

Șiruri de caractere la întregi

# 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'
Curățarea datelor în Python

Instrucțiunea assert

# 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:
Curățarea datelor în Python

Numeric sau categorial?

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

0 = Necăsătorit       1 = Căsătorit       2 = Separat       3 = Divorțat

df['marriage_status'].describe()
       marriage_status
...
mean              1.4
std               0.20
min               0.00
50%               1.8 ...
Curățarea datelor în Python

Numeric sau categorial?

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

df.describe()
        marriage_status
count                 241
unique                4
top                   1
freq                  120
Curățarea datelor în Python

Să exersăm!

Curățarea datelor în Python

Preparing Video For Download...