split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)。用人话翻译过来就是(Python提供的split()函数可以将一个字符串分裂成多个字符串组成的列表。)
split()语句:
str.split(sep, maxsplit)
参数说明:
sep:是分割符,不写分割符时表示所有的空字符,包括空格、换行(\n)、制表符(\t)等,有分隔符时,以该分隔符进行分割。
maxsplit:是分割次数。
举个例子:
不写分隔符
str = '100 200 300\n400\t500'
print(str.split())
#运行结果:['100', '200', '300', '400', '500']
结论:当不带参数时,默认是以空字符作为参数,不管空字符在哪,或者有几个全部被分割了!
分割1次
str = '100 200 300\n400\t500'
print(str.split(' ',1))
#运行结果:['100', '200 300\n400\t500']
以”+”号为分割符
str = '+100+20+300+400+500+'
print(str.split('+'))
#运行结果:['', '100', '20', '300', '400', '500', '']
结论:从左往右分割,遇到一个’+’号分割一次,左边的部分分割完做为list的一个元素,直到分割完
下面再举个重量级的例子:
str = 'hello world[www.zhangguoli.cn]python'
print(str.split('['))
#运行结果:['hello world', 'www.zhangguoli.cn]python']
str = 'hello world[www.zhangguoli.cn]python'
print(str.split('[')[1].split(']'))
#运行结果:['www.zhangguoli.cn', 'python']
str = 'hello world[www.zhangguoli.cn]python'
print(str.split('[')[1].split(']')[0].split('.'))
#运行结果:['www', 'zhangguoli', 'cn']
这里split(‘.’)[1] 是一种缩写形式,把它拆开来看实际就是,先用split(‘.’)方法将字符串以”.”开割形成一个字符串数组,然后再通过索引[1]取出所得数组中的第二个元素的值
split(‘.’)[-1]
如果索引是负指标,那么最后一个元素是语法糖在访问元素顺序颠倒,从右到左,在-1
开始。所以-1
是最后一项,-2
是倒数第二项,依此类推
拓展知识:
在series中使用split()时,要注意,我们平时取值的时候一般是这样的:
series.astype('str').split(" ")[0]
这样取值会报错的,正确的方式应该是这样的:
series.astype('str').str.split(" ").str[0]
后面取值的时候也要加上str
不错,必须顶一下!