Cómo tratar otros problemas de datos

Ingeniería de características para Machine Learning en Python

Robert O'Callaghan

Director of Data Science, Ordergroove

Carácteres no válidos

print(df['RawSalary'].dtype)
dtype('O')
Ingeniería de características para Machine Learning en Python

Carácteres no válidos

print(df['RawSalary'].head())
0          NaN
1    70,841.00
2          NaN
3    21,426.00
4    41,671.00
Name: RawSalary, dtype: object
Ingeniería de características para Machine Learning en Python

Cómo arreglar caracteres no válidos

df['RawSalary'] = df['RawSalary'].str.replace(',', '')
df['RawSalary'] = df['RawSalary'].astype('float')
Ingeniería de características para Machine Learning en Python

Detectar otros caracteres sueltos

coerced_vals = pd.to_numeric(df['RawSalary'], 
                             errors='coerce')
Ingeniería de características para Machine Learning en Python

Detectar otros caracteres sueltos

print(df[coerced_vals.isna()].head())
0           NaN
2           NaN
4     $51408.00
Name: RawSalary, dtype: object
Ingeniería de características para Machine Learning en Python

Encadenar métodos

df['column_name'] = df['column_name'].method1()
df['column_name'] = df['column_name'].method2()
df['column_name'] = df['column_name'].method3()

Igual que:

df['column_name'] = df['column_name']\
                     .method1().method2().method3()
Ingeniería de características para Machine Learning en Python

¡Ahora corrige los caracteres no válidos!

Ingeniería de características para Machine Learning en Python

Preparing Video For Download...