python文本数据处理_python处理文本数据

处理文本数据,主要是通过Seris的str访问。遇到NaN时不做任何处理,保留结果为NaN,遇到数字全部处理为NaN。

str是Seris的方法,DataFrame不能直接使用,但是通过索引选择DataFrame中的某一行或者某一列,结果为Seris,然后就可以使用了。

例如定义一个Seris和DataFrame如下

s = pd.Series(['ab',1,'bb',np.nan,'bc'])

dic= {'one':[0,2,2,4],'two':[2,np.nan,4,6],'three':['a','b',np.nan,2]}

df= pd.DataFrame(dic,index=['d','e','f','g'])

将上述s全部变成大写字母,将df的列名称变成大写。

s =s.str.upper()

df.columns= df.columns.str.upper()

以下都以Seris做示例,这些方法与python字符串的操作类似

print(s.str.lower()) #将s中的各字符串全部变为小写

print(s.str.upper()) #将s中的各字符串全部变为大写

print(s.str.capitalize()) #将s中的各字符串全部变为首字母大写

print(s.str.len()) #求s中各字符串的长度

print(s.str.count('b')) #求s中的各字符串元素包含几个b

print(s.str.startswith('a')) #判断s中的各字符串是否以a开始

print(s.str.endswith('a')) #判断s中的各字符串是否以a结束

print(s.str.contains('b')) #判断s中的各字符串是否包含b

print(s.str.strip()) #去掉s中字符串元素两边的空格

print(s.str.lstrip()) #去掉s中字符串元素左边的空格

print(s.str.rstrip()) #去掉s中字符串元素右边的空格

print(s.str.replace('原字符','替换字符',1)) #将原字符串替换为指定字符串,默认替换所有满足条件的,n表示替换前n个满足条件的

split()和rsplit()

split()表示从左边开始分割,rsplit()表示从右边分割,分割后的结构为一个列表

s = pd.Series(['a,b,c,d',np.nan,['a..c'],'1,2,3'])print(s.str.split(',')) #对Seris中的元素按照,分割,即对'a,b,c'、np.nan、['a..c']、'1,2,3'按照,分割

print(s.str.split(',').str[0]) #获取每个元素分割后的第一个值,分割后的结果也为Seris,也需要通过str来获取每个元素

print(s.str.split(',',expand=True,n=1)) #expand为True表示将原列按照分割符拆分为㢵列,n表示拆分次数,默认不拆分,如果拆分默认拆分最多次#0 [a, b, c, d]#1 NaN#2 NaN#3 [1, 2, 3]#dtype: object#0 a#1 NaN#2 NaN#3 1#dtype: object#0 1#0 a b,c,d#1 NaN NaN#2 NaN NaN#3 1 2,3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值