从 pandas 数据框列值中删除句子的第一个单词

Kal*_*lol 4 python dataframe pandas

我有一个像这样的数据框:

df:
col1      col2
 A        blue berry
 B        nice water bottle
Run Code Online (Sandbox Code Playgroud)

我想从 col2 值中删除第一个单词,最终的数据框将如下所示:

df1:
col1       col2
 A         berry
 B         water bottle
Run Code Online (Sandbox Code Playgroud)

如何使用 pandas 以最有效的方式做到这一点

jez*_*ael 5

使用split第一个空格n=1,然后通过索引选择第二个列表:

df['col2'] = df['col2'].str.split(n=1).str[1]
print (df)
  col1          col2
0    A         berry
1    B  water bottle
Run Code Online (Sandbox Code Playgroud)

细节

print (df['col2'].str.split(n=1))
0           [blue, berry]
1    [nice, water bottle]
Name: col2, dtype: object
Run Code Online (Sandbox Code Playgroud)

如果性能很重要并且没有缺失值,则将解决方案转换为列表理解:

df['col2'] = [x.split(maxsplit=1)[1] for x in df['col2']]
Run Code Online (Sandbox Code Playgroud)