对于以下数据框,我正在尝试创建一个新的guest_1
列,该列采用guest
列的每个项目中的前两个单词。在底部,您可以看到我想要的输出。
我可以在这里应用某种“如果不存在,那么...”逻辑吗?
我已经尝试了以下方法,但是明显的困难是要考虑一个人用一个单词作为名字。
df.guest_1 = data.guest.str.split().str.get(0) + ' ' + data.guest.str.split().str.get(1)
df = pd.DataFrame(
{'date': ['2018-11-21','2018-02-26'],
'guest': ['Anthony Scaramucci & Michael Avenatti', 'Robyn'],
})
df.guest_1 = ['Anthony Scaramucci', 'Robyn']
答案 0 :(得分:3)
您可以拆分,切片和合并。这将优雅地处理越界切片:
df.guest.str.split().str[:2].str.join(' ')
df['guest_1'] = df.guest.str.split().str[:2].str.join(' ')
df
date guest guest_1
0 2018-11-21 Anthony Scaramucci & Michael Avenatti Anthony Scaramucci
1 2018-02-26 Robyn Robyn