1.问题
【问题一】 str对象方法和df/Series对象方法有什么区别?
str对象方法主要是针对类型为string的对象
【问题二】 给出一列string类型,如何判断单元格是否是数值型数据?
使用str.isnumetric()方法
【问题三】 rsplit方法的作用是什么?它在什么场合下适用?
rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 split() 方法,只不过是从字符串最后面开始分割。
【问题四】 在本章的第二到第四节分别介绍了字符串类型的5类操作,请思考它们各自应用于什么场景?
2. 练习
【练习一】 现有一份关于字符串的数据集,请解决以下问题:
(a)现对字符串编码存储人员信息(在编号后添加ID列),使用如下格式:“×××(名字):×国人,性别×,生于×年×月×日”
df_1 = pd.read_csv('../data/String_data_one.csv',index_col='人员编号')
df_1.head()
df_1.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2000 entries, 1 to 2000
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 姓名 2000 non-null object
1 国籍 2000 non-null int64
2 性别 2000 non-null object
3 出生年 2000 non-null int64
4 出生月 2000 non-null int64
5 出生日 2000 non-null int64
dtypes: int64(4), object(2)
memory usage: 109.4+ KB
# 将所有类型转成object
df_1 = df_1.astype('str')
(df_1['姓名']+ ':'+df_1['国籍']+'国人,'+'性别'+df_1['性别']+',生于'+df_1['出生年']+'年'+\
df_1['出生月']+'月'+df_1['出生日']+'日').to_frame()