假设我有以下简单的数据框:
df_data=pd.DataFrame({'name':['ABC','ABC XYZ']})
要获取我应用的最后一个元素:
df_end= pd.DataFrame(df_data.name.str.split().str.get(-1), columns=['name'])
结果是ABC
。当name
的长度小于2时,我想得到None。我已经尝试了以下方法,但我没有得到正确的结果:
df_end['name'] = df_data.name.str.split().apply(lambda x: x[-1] if len(x)>1)
我不应该将 ABC
作为 ABC
的最后一个元素,但我应该在 ABC XYZ
中获得 XYZ
>
最佳答案
我认为你可以尝试:
df_data['name'].str.extract('\s(\S+)$')
输出:
0
0 NaN
1 XYZ
关于python - 根据条件获取 DataFrame 列中的最后一个字符串元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59381444/