我有一个如下的数据框:
df:
col1 col2
A blue berry
B nice water bottle
我想要从col2的值中去除第一个单词,最终的数据框将如下所示:
df1:
col1 col2
A berry
B water bottle
如何使用pandas以最有效的方式完成这个任务。
使用split
函数,通过第一个空格进行分割并设置n=1
,然后通过索引选择第二个列表:
df['col2'] = df['col2'].str.split(n=1).str[1]
print (df)
col1 col2
0 A berry
1 B water bottle
细节:
print (df['col2'].str.split(n=1))
0 [blue, berry]
1 [nice, water bottle]
Name: col2, dtype: object
df['col2'] = [x.split(maxsplit=1)[1] for x in df['col2']]
d['col2'] = d['col2'].apply(lambda x: ' '.join(x.split(' ')[1:]))
输出
col1 col2
0 A berry
1 B water bottle
df1.col2 = df1.col2.str.split(" ",1).str[1]
可能会起到作用。
.str
在列上提供向量化字符串功能,而split需要一个额外的参数来指定最大分割次数。