当我们处理字符串数据时,经常需要按照特定的符号对字符串进行分割,Pandas可以使用str.split()
方法实现字符串的分割。
下面将详细介绍分割字符的实现方法:
下面看一下示例:
import pandas as pd
#构造数据
data={'name':['zhang san','li si','wang wu'],'age':[10,11,12]}
df=pd.DataFrame(data)
#使用split()方法对字符串进行分割
df['name_new']=df['name'].str.split(' ')
print(df)
输出结果如下:
name age name_new
0 zhang san 10 [zhang, san]
1 li si 11 [li, si]
2 wang wu 12 [wang, wu]
在这个例子中,我们使用split()
方法对“name”列中的字符串进行分割。通过指定分割符“空格”,split()
方法返回了每个字符串分割后得到的多个子串的列表。
expand
参数可以控制split()
方法的返回值格式。expand=True
时,split()
输出的结果返回一个包含分割后所有子串的DataFrame。expand=False
时,split()
输出的结果返回一个包含所有分割后子串的Series。
下面看两个示例:
import pandas as pd
#数据
data={'name':['zhang san','li si','wang wu'],'age':[10,11,12]}
df=pd.DataFrame(data)
#使用split()方法对字符串进行分割
df_name_expanded=df['name'].str.split(' ',expand=True)
df_name_unexpanded=df['name'].str.split(' ',expand=False)
print('分割后返回的是一个DtaFrame:')
print(df_name_expanded)
print('分割后返回的是一个Series:')
print(df_name_unexpanded)
输出结果如下:
分割后返回的是一个DataFrame:
0 1
0 zhang san
1 li si
2 wang wu
分割后返回的是一个Series:
0 [zhang, san]
1 [li, si]
2 [wang, wu]
Name: name, dtype: object
在第一个示例中,我们使用了expand=True
参数,split()
方法分割后返回的是一个包含所有分割后子串的DataFrame。在这个DataFrame中,每个列包含一个子串。
在第二个示例中,我们使用默认的expand=False
参数。split()
方法分割后返回的是一个Series对象。在这个Series中,每个元素都是一个包含所有子串的列表。
总之,使用pandas的split()
方法,我们可以快速轻松地将字符串按照指定的分隔符进行分割。
本文链接:http://task.lmcjl.com/news/17598.html