Pandas基础学习: 处理文本数据

这篇博客探讨了Pandas在处理文本数据时的基础知识,包括str对象方法与DataFrame/Series对象方法的区别、字符串操作如split和rsplit的应用场景,以及如何判断字符串是否为数值型数据。此外,还介绍了str.replace、str.extract和str.contains等字符串方法,并给出了实际操作的练习题,涉及字符串编码、日期格式转换、信息拆分和正则表达式在数据筛选和计算中的应用。
摘要由CSDN通过智能技术生成

一、Task02: 文本数据

在这里插入图片描述string与object区别

  • 字符存取方法会返回相应数据的Nullable类型,而object会随缺失值的存在而改变返回类型
  • 一些Series方法不能在string上使用,如:Series.str.decode(),因为存储的是字符串而不是字节
  • string类型在缺失值存储或运算时,类型会广播为pd.NA,而不是浮点型np.nan

二、理解点

  1. str型object与object

在string类型转化中,如果将一个其他类型的容器直接转换成string类型可能会报错

# int型
pd.Series([1,2]).astype('string') #报错

# bool型
pd.Series([True,False]).astype('string') #报错

# 非str型object
pd.Series([1,'1.']).astype('string') #报错
  • 报错原因:

    StringArray requires a sequence of strings or pandas.NA

从报错原因来看,转化为而string类型需要str序列

而str型object就是由str类型组成

# object类型
pd.Series(['1', '1'])

pd.Series(['1','1.']).astype('string')

在这里插入图片描述

  1. str.split后的类型为object,而不是string

    因为Series中的元素包含list,而string类型只能含有字符串

   s.str.split('_')

在这里插入图片描述
此处是str类型object 缺失值因为object会根据缺失类型和数据类型改变。

  1. str.cat的索引对齐特性
   s = pd.Series(['a', 'b', np.nan, 'd'])
   t = pd.Series(['d', 'a', 'e', 'c'], index=[3, 0, 4, 2])
   s.str.cat(t, join='left', na_rep='-')
   0    aa
   1    b-
   2    -c
   3    dd
   dtype: object
   s.str.cat(t, join='outer', na_rep='-')
   0    aa
   1    b-
   2    -c
   3    dd
   4    -e
   dtype: object
   >>>
   s.str.cat(t, join='inner', na_rep='-')
   0    aa
   2    -c
   3    dd
   dtype: object
   >>>
   s.str.cat(t, join='right', na_rep='-')
   3    dd
   0    aa
   4    -e
   2    -c
   dtype: object

注意这里的t序列中的索引顺序为[3, 0, 4, 2]

  1. 子组
# 两个分组 0为全部分组 1为第一个匹配到的分组 2为第二个匹配到的分组
print(re.search(r'([ABC])(\w+)', 'CABA').group(2))
s.str.replace(r'([ABC])(\w+)',lambda x:x.group(2)[1:]+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值