一、str对象介绍和基本操作
在Pandas中,字符串数据可以用str对象来进行操作。
str对象提供了许多字符串方法,下面是一些常用操作:
import pandas as pd
import numpy as np
s = pd.Series(['A','B','C','AA','BB','CC'])
s.str.lower() #将字符串转为小写
s.str.upper() #将字符串转为大写
s.str.len() #返回字符串长度
s.str.strip() #去掉两边空格
s.str.split('A') #用'A'进行字符串分割
上面的代码会分别得到以下结果:
0 a
1 b
2 c
3 aa
4 bb
5 cc
dtype: object
0 A
1 B
2 C
3 AA
4 BB
5 CC
dtype: object
0 1
1 1
2 1
3 2
4 2
5 2
dtype: int64
0 A
1 B
2 C
3 AA
4 BB
5 CC
dtype: object
0 [, ]
1 [, ]
2 [, ]
3 [AA, , ]
4 [BB, , ]
5 [CC, , ]
dtype: object
二、字符串提取
在实际的数据处理中,常常需要从一个字符串中提取出一部分内容。
1. 使用str.slice提取子串
如果想要提取字符串中的某一个子串(如提取前几个字符),可以使用str.slice方法。
import pandas as pd
import numpy as np
s = pd.Series(['abcd','efgh','ijkl'])
s.str.slice(0,2) #提取每个字符串的前2个字符
s.str.slice(1,3) #提取每个字符串的第2~3个字符
上面的代码会得到以下结果:
0 ab
1 ef
2 ij
dtype: object
0 bc
1 fg
2 jk
dtype: object
2. 使用str.extract提取规则匹配的子串
如果需要提取一个字符串中符合某种规则的子串,可以使用str.extract方法,并给出一个正则表达式。
import pandas as pd
import numpy as np
s = pd.Series(['A1','B2','C3'])
s.str.extract('([AB])(\d)') #提取以A或B开头,后跟一个数字的子串
上面的代码会得到以下结果:
0 1
0 A 1
1 B 2
三、字符串拼接
在实际开发过程中,经常需要将多个字符串进行合并。
1. 使用"+"号进行拼接
使用"+"号把多个字符串拼接起来是最简便的方法,可以用以下代码实现:
import pandas as pd
import numpy as np
s1 = pd.Series(['A','B','C'])
s2 = pd.Series(['D','E','F'])
s3 = s1 + s2
print(s3)
上面的代码会得到以下结果:
0 AD
1 BE
2 CF
dtype: object
2. 使用str.cat方法进行拼接
除了用"+"号拼接以外,还可以使用str.cat方法进行拼接,可以使用以下代码实现:
import pandas as pd
import numpy as np
s1 = pd.Series(['A','B','C'])
s2 = pd.Series(['D','E','F'])
s3 = s1.str.cat(s2)
print(s3)
上面的代码会得到以下结果:
0 AD
1 BE
2 CF
dtype: object
四、字符串分割
在实际开发中,经常需要对包含多个字段的字符串进行拆分。
1. 使用str.split方法进行分割
使用str.split方法进行分割是最直接的方法,可以使用以下代码实现:
import pandas as pd
import numpy as np
s = pd.Series(['A,B,C','D,E,F','G,H,I'])
s.str.split(',', expand=True) #以逗号作为分隔符,将每个字符串拆分成3个部分
上面的代码会得到以下结果:
0 1 2
0 A B C
1 D E F
2 G H I
2. 使用str.extract方法提取分隔符中间的内容
如果需要提取分隔符中间的内容,可以使用str.extract方法,可以使用以下代码实现:
import pandas as pd
import numpy as np
s = pd.Series(['A_B_C','D_E_F','G_H_I'])
s.str.extract('_(.*)_') #提取每个字符串中以_开头和结尾的内容
上面的代码会得到以下结果:
0
0 B
1 E
2 H
总结:
通过本文的介绍,我们了解了Pandas中字符串“提取、拼接和分隔”的技巧,提高了数据处理效率。在实际数据处理过程中,我们可以根据具体情况选择适合的方法,以提高代码的可靠性和可维护性。