pandas——字符串处理

相关知识

在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等这种需求,如果掌握str列内置的方法,处理起来会方便很多。

实操

1.打开终端模拟器,在命令行输入ipython notebook --ip='127.0.0.1',在浏览器中会打开界面,点击New,在其下拉框中选择Python3.

2.新建一个ipynb文件,用于编写并执行代码。

3.cat() 拼接字符串

import pandas as pd  
pd.Series(['a', 'b', 'c']).str.cat(['A', 'B', 'C'], sep=',')  

 

4.split()切片字符串

import numpy as np  
s=pd.Series(['a_b_c', 'c_d_e', np.nan, 'f_g_h'])  
print(s)  
s.str.split('_')  
s.str.split('_',-1)  
s.str.split('_',1)  

 

5.get() 获取指定位置的字符串

s.str.get(0)  
s.str.get(1)  
s.str.get(2)  

 

6.join() 对每个字符都有用,将字符串拼接起来,不常用

s.str.join("!")  
s.str.join("?")  
s.str.join(".")  

 

7.contains() 是否包含表达式,返回True或False。

8.replace() 字符串替换

9.repeat() 重复

10.pad() 左右补齐

s.str.pad(10, fillchar="?")  
s.str.pad(10, side="right", fillchar="?")  

 

11.center() 中间补齐

12.ljust() 右边补齐

13. rjust() 左边补齐

14.zfill() 左边补0

15.wrap() 在指定的位置插入回车符号

16.slice() 按字符串下标的开始结束位置切割字符串。

17.slice_replace()使用给定的字符串,替换指定位置的字符。

s.str.slice_replace(1,3,'?')  
s.str.slice_replace(1, 3, "??")  

 

18.count() 计算给定单词出现的次数

19.startswith()判断是否以给定的字符串开头,返回True或False。

20.endswith()判断是否以给定的字符串结束,返回True或False。

21.findall() 查找所有符合正则表达式的字符,以数组形式返回

22.match() 检测是否全部匹配给定的字符串或者表达式。

23.extract() 抽取匹配的字符串出来,注意要加上括号,把你需要抽取的东西标注上

24.len() 计算字符串的长度

view plain copy

  1. s.str.len()  

25.strip()去除前后的空白字符

view plain copy

  1. idx = pd.Series([' jack', 'jill   ', '  jesse  ', 'frank'])  
  2. print(idx)  
  3. idx.str.strip()  

26.rstrip() 去除后面的空白字符

view plain copy

  1. idx.str.rstrip()  

27.lstrip() 去除前面的空白字符

view plain copy

  1. idx.str.lstrip()  

28.partition() 把字符串数组切割称为DataFrame,注意切割只是切割成为三部分,分隔符前,分隔符,分隔符后.

view plain copy

  1. s.str.partition('_')  

29.rpartition() 从右切起

view plain copy

  1. s.str.rpartition('_')  

30.lower() 全部小写

view plain copy

  1. s.str.lower()  

31.upper() 全部大写

view plain copy

  1. s.str.upper()  

32.find() 从左边开始,查找给定字符串的所在位置,没有返回-1。

view plain copy

  1. s.str.find('d')  

33.rfind() 从右边开始,查找给定字符串的所在位置

view plain copy

  1. s.str.rfind('d')  

34.index() 查找给定字符串的位置,注意,如果不存在这个字符串,那么会报错!

view plain copy

  1. s.str.index('_')  

35.rindex() 从右边开始查找,给定字符串的位置。

view plain copy

  1. s.str.rindex("_")  

36.capitalize() 首字符大写

view plain copy

  1. s.str.capitalize()  

37.swapcase()大小写互换

view plain copy

  1. s.str.swapcase()  

38.isalnum()字符串至少包含一个字符且所有字符都是字母(汉字)或数字则返回True。

view plain copy

  1. s.str.isalnum()  

39.isalpha()字符串至少包含一个字符且所有字符都是字母(汉字)则返回True。

view plain copy

  1. s.str.isalpha()  

40.isdigit()是否全部是数字(可以是: Unicode, 全角字符, bytes(b'1'), 罗马数字)。

view plain copy

  1. s.str.isdigit()  

41.isspace()是否只包含空白符。

view plain copy

  1. s.str.isspace()  

42.islower()至少包含一个小写字符, 且不包含大写字符。

view plain copy

  1. s.str.islower()  

43.isupper()至少包含一个大写字符, 且不包含小写字符。

view plain copy

  1. s.str.isupper()  

44.istitle()判断是否只有首字母大写,其他都小写。

view plain copy

  1. s.str.istitle()  

45.isnumeric()是否只包含数字字符

view plain copy

  1. s.str.isnumeric()  

46.isdecimal()是否只包含数字(Unicode字符, 全角字符)。

view plain copy

  1. s.str.isdecimal()  

47.把字符串按照指定分隔符分割, 并返回分割后的字符串出现的次数。

view plain copy

  1. s.str.get_dummies(sep='_')  

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值