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 以最有效的方式做到这一点
使用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)