处理其他数据问题

Python 中的机器学习特征工程

Robert O'Callaghan

Director of Data Science, Ordergroove

非法字符

print(df['RawSalary'].dtype)
dtype('O')
Python 中的机器学习特征工程

非法字符

print(df['RawSalary'].head())
0          NaN
1    70,841.00
2          NaN
3    21,426.00
4    41,671.00
Name: RawSalary, dtype: object
Python 中的机器学习特征工程

处理非法字符

df['RawSalary'] = df['RawSalary'].str.replace(',', '')
df['RawSalary'] = df['RawSalary'].astype('float')
Python 中的机器学习特征工程

查找其他杂字符

coerced_vals = pd.to_numeric(df['RawSalary'], 
                             errors='coerce')
Python 中的机器学习特征工程

查找其他杂字符

print(df[coerced_vals.isna()].head())
0           NaN
2           NaN
4     $51408.00
Name: RawSalary, dtype: object
Python 中的机器学习特征工程

方法链

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

等同于:

df['column_name'] = df['column_name']\
                     .method1().method2().method3()
Python 中的机器学习特征工程

开始修复非法字符!

Python 中的机器学习特征工程

Preparing Video For Download...