split本义是分割的意思。该函数的主要作用是依照给定的规则将字符分割成一个列表。
Methods like split return a Series of lists:
# 将每个数据按照_分割返回结果默认是一个由列表组成的Series
>>> s2 = pd.Series(['a_b_c', 'c_d_e', np.nan, 'f_g_h'])
>>> s2.str.split('_')
0 [a, b, c]
1 [c, d, e]
2 NaN
3 [f, g, h]
dtype: object
# 也可以通过.str.get()或者[]获取拆分后的某个数值
>>> s2.str.split('_').str.get(1)
0 b
1 d
2 NaN
3 g
dtype: object
>>> s2.str.split('_').str[1]
0 b
1 d
2 NaN
3 g
dtype: object
# 当然,也支持将其扩展为DataFrame.
# 可以将expand参数设置为True
>>> s2.str.split('_', expand=True)
0 1 2
0 a b c
1 c d e
2 NaN NaN NaN
3 f g h
# 如上所示,如果直接分割,那么安装'_'分割,
# 每个字符便会被分割2次,该函数还可以通过
# 指定参数n的值来限定分割次数
>>> s2.str.split('_', expand=True, n=1)
0 1
0 a b_c
1 c d_e
2 NaN NaN
3 f g_h
# 如果使用了参数n ,可能有时会有需求,如果我
# 想得到a_b, c组合而不是a, b_c组合
# pandas为此专门提供了另一个方法,rsplit(reverse split)
# 的意思,即反方向分割的意思
>>> s2.str.rsplit('_', expand=True, n=1)
0 1
0 a_b c
1 c_d e
2 NaN NaN
3 f_g h
哈哈,以上就是python小工具关于split函数的应用,本人觉得他比java提供的相同方法的功能丰富多了,这获取就是python比较简单功能强大的原因之一吧。欢迎关注公众号:python小工具,一起学习python和pandas