Python 学习笔记

  • strpython的内建数据类型

Pandas Series 字符串操作

pandas的series内元素为str类型时,如果需要对整列的字符串进行变换,是无法直接调用字符串函数的,如[]截取操作,count计数,split分割操作等。

1
s = pd.Series(['A','b','C','bbhello','123',np.nan,'hj'])
1
2
3
4
5
6
7
8
0          A
1 b
2 C
3 bbhello
4 123
5 NaN
6 hj
dtype: object
1
2
type(s)
<class 'pandas.core.series.Series'>

s[0:1]实际上截取的是series的第一个元素,即A,而不是所有数据的第一个字母组成的series. 使用s.count('b')会提示非法调用。

为了实现序列元素的批操作,可以将series转化为strings.StringMethods.

1
2
type(s.str)
<class 'pandas.core.strings.StringMethods'>

再对s.str进行字符串操作就可以成功了。如

1
2
3
4
5
6
7
8
9
s.str.count('b')
0 0.0
1 1.0
2 0.0
3 2.0
4 0.0
5 NaN
6 0.0
dtype: float64

如何对Series进行内部元素数据类型转换,可以使用s.astype('')来实现。