Pandas数据分析学习打卡(二):String文本数据
这是Pandas数据分析学习的第二个内容——String文本数据
对它的处理主要是以下几种:
1.类型转换astype(),输入是代表不同类型的关键字,比如’str’、‘string’…
2.拆分str.split()与拼接str.cat(),前者主要根据某一字符进行分割,返回分割后的多个字符;后者可以实现将单个Series的多个字符串元素拼接、将两个Series的对应索引的元素进行合并、将多个列对应索引进行拼接,功能很丰富。
3.替换str.replace(),这个需要正则表达式的知识,一般来说,输入的第一个元素是需要被替换的元素,可以用正则表达式来表示,第二个元素是用来替换的元素,可以用lambda函数来表示,使得替换操作更加灵活。
4.子串匹配与提取,str.extract()和str.extractall方法,输入是正则表达式,前者只会匹配第一个符合条件的表达式,后者会会找出所有符合条件的字符串,并建立多级索引。
5.检测是否包含某种正则模式的str.contains和str.match,返回布尔类型,用于统计。
6.其它的一些常用字符串方法:过滤空格str.strip、改变大小写str.lower和str.upper、交换字母大小写str.swapcase、大写首字母str.capitalize、检查每一位是否都是数字的isnumeric方法。
接下来是问题与练习:
【问题一】 str对象方法和df/Series对象方法有什么区别?
str对象方法主要是pandas提供一些和Python内置字符串对象方法很相似的方法来处理df/Series中的字符串对象,
【问题二】 给出一列string类型,如何判断单元格是否是数值型数据?
使用isnumeric方法,这里使用资料里的代码展示
in:pd.Series(['1.2','1','-0.3','a',np.nan],dtype="string").str.isnumeric()
out:0 False
1 True<