pandas.str.split()是pandas库中的一个字符串处理工具,其作用是将字符串按照指定的分隔符进行分割,并返回一个Series对象或DataFrame对象。
使用方法如下:
DataFrame/Series.str.split(
pat=None, # 分隔符,默认为None,表示按照所有空字符(包括空格、制表符、换行符等)分割
n=-1, # 分割次数,默认为-1,表示分割全部。如果为正整数,则只分割前n个
expand=False, # 是否将分割后的结果转化为DataFrame,默认为False,返回Series,如果为True,则返回DataFrame
)
其中,参数pat指定分隔符,可以是任意字符串。参数n指定分割次数,-1表示全部分割,不限次数,正整数表示只分割前n个。参数expand指示是否在分割后将结果转化为DataFrame。
下面,给出两个实例:
import pandas as pd
data = {'name': ['Tom,Hanks', 'Jack,Black', 'Will,Smith'],
'age': [60, 51, 52]}
df = pd.DataFrame(data)
print(df)
df[['firstname', 'lastname']] = df['name'].str.split(',', expand=True)
print(df)
输出结果:
name age
0 Tom,Hanks 60
1 Jack,Black 51
2 Will,Smith 52
name age firstname lastname
0 Tom,Hanks 60 Tom Hanks
1 Jack,Black 51 Jack Black
2 Will,Smith 52 Will Smith
在上面的例子中,我们将姓名中的第一个单词和第二个单词分别取出,并将它们加入到DataFrame中。
import pandas as pd
data = {'content': ['I am a boy', 'You are a girl', 'He is a teacher.']}
df = pd.DataFrame(data)
print(df)
df['words'] = df['content'].str.split('[ .]', expand=False)
print(df)
输出结果:
content
0 I am a boy
1 You are a girl
2 He is a teacher.
content words
0 I am a boy [I, am, a, boy]
1 You are a girl [You, are, a, girl]
2 He is a teacher. [He, is, a, teacher, ]
在上面的例子中,我们将内容中的单词分别取出,可以发现,我们不仅指定了空格作为分隔符,还指定了句号作为分隔符。这样,我们就可以灵活地根据不同的需求进行字符串分割。
本文链接:http://task.lmcjl.com/news/17739.html