内容目录
Pandas的矢量化字符串函数¶
In [354]:
data = {'email_a':'david@qq.com',
'email_b':'steve@qq.com',
'email_c':'sam@gmail.com',
'email_d':np.nan}
data = pd.Series(data)
data
Out[354]:
email_a david@qq.com email_b steve@qq.com email_c sam@gmail.com email_d NaN dtype: object
In [359]:
# 获取每个同学邮箱前的内容
data.str.split('@')
Out[359]:
email_a [david, qq.com] email_b [steve, qq.com] email_c [sam, gmail.com] email_d NaN dtype: object
In [365]:
df_with_multiindex['Annual Salary'].str[1:]
Out[365]:
City Age Group Phoenix 41-60 202,680 Columbus 41-60 187,205 Shanghai 26-35 142,731 Austin 41-60 130,133 Miami 36-40 69,647 ... Sao Paulo 41-60 108,268 Beijing 41-60 86,510 Miami 41-60 54,051 Austin 41-60 75,354 41-60 76,202 Name: Annual Salary, Length: 85, dtype: object
数据清洗常见问题总结:
- 部分数据缺失:填充或者删除确实˙缺失值
- isnull进行判断
- fillna进行填充
- dropna进行删除
- 数据存在重复值:删除重复值
- duplicate进行重复数据判断
- drop_duplicates删除重复数据
- 数据类型不统一:数据类型转换
- .str字符串进行处理
- 部分数据包含数值和字符串:字符串处理
- .map+lambda表达式进行字符串替换
- 部分数据存在异常值:删除异常值
- .str字符串进行判断处理
- drop函数删除对应的数据行