开发者社区 问答 正文

获取DataFrame列中的最后一个条件字符串元素

假设我有以下简单的dataframe:

df_data=pd.DataFrame({'name':['ABC','ABC XYZ']})

要获得最后一个元素,我应用:

df_end= pd.DataFrame(df_data.name.str.split().str.get(-1), columns=['name'])

结果就是ABC。当名称长度小于2时,我希望得到None。我试过以下方法,但效果不佳:

df_end['name'] = df_data.name.str.split().apply(lambda x: x[-1] if len(x)>1)

我不应该得到ABC作为ABC的最后一个元素,但是我应该得到ABC XYZ中的XYZ 问题来源StackOverflow 地址:/questions/59381444/get-last-string-element-in-dataframe-column-conditional

展开
收起
kun坤 2019-12-28 13:49:47 724 分享 版权
1 条回答
写回答
取消 提交回答
  • 我想你可以试试:

    df_data['name'].str.extract('\s(\S+)$')
    

    输出:

         0
    0  NaN
    1  XYZ
    
    2019-12-28 13:49:52
    赞同 展开评论
问答地址: