Python的“如果不存在,则...”逻辑?

时间:2019-04-24 00:14:06

标签: python string pandas dataframe

对于以下数据框,我正在尝试创建一个新的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']

1 个答案:

答案 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