我有一个这样的数据框:df:col1 col2 A blue berry B nice water bottle我想从 col2 值中删除第一个单词,最终的数据框将如下所示:df1:col1 col2 A berry B water bottle如何使用熊猫以最有效的方式做到这一点
3 回答

收到一只叮咚
TA贡献1821条经验 获得超4个赞
使用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']]

qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
d['col2'] = d['col2'].apply(lambda x: ' '.join(x.split(' ')[1:]))
输出
col1 col2
0 A berry
1 B water bottle

叮当猫咪
TA贡献1776条经验 获得超12个赞
在你的情况下
df1.col2 = df1.col2.str.split(" ",1).str[1]
可能会起作用。这.str
为您提供了列上的矢量化字符串功能,并且 split 需要一个额外的参数,说明它最大程度地拆分的频率。
添加回答
举报
0/150
提交
取消