版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
split()正序分割列;rsplit()逆序分割列
Series.str.split(pat=None, n=-1, expand=False)
参数:
pat : 字符串,默认使用空白分割,分列的依据,可以是空格,符号,字符串等等
n : 整型,默认为-1,既使用所有的分割点分割。就是当用于分列的依据符号在有多个的话需要指定分列的次数(不指定的话就会根据符号有几个分列几次)
expand : 布尔值,默认为False.如果为真返回数据框(DataFrame)或复杂索引(MultiIndex);如果为假,返回序列(Series)或者索引(Index).
----- 如果不需要pandas为你分好列,expand=False就可以了
注意:如果直接用某一列和split()来分列是不行的,因为Series数据类型是没有split()的,所以需要先用.str将这一列转换为类似字符串的格式,就能够使用split()了。
返回值:
split : 参考expand参数(每个具体值的类型是字符串)
例1:然后,我们如果只想要第一列的话,只需要做:
data[‘name’].str.split(’|’,expand=True)[0]
例2:
from pandas.core.frame import DataFrame
df = DataFrame({“a” : [“1”,“2”,“3”,“4”],
“b” : [“5-9”,“6-10”,“7-11”,“8-12”]})
df['b'], df['c'] = df['b'].str.split('-', 1).str