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

标签 python pandas dataframe apply

假设我有以下简单的数据框:

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/

相关文章:

python - Pandas:根据数据框中的组合填充缺失值

python - python HMAC中的填充不是错误的吗?

python - 未知选项 : -B

python - 写入和读取 csv 文件时出现特殊字符 (\r) 问题

java - 无法在 Java 中读取 PIL 保存的 jpeg 字符串

Python:连接字符串列表if else oneliner

python - 按 pandas 中的日期分组以绘制分类分布

python-3.x - 将 NASDAQ HTML 表读取到 Dataframe

python - 如何根据值在另一个数据框中的位置获取一个数据框中的值

python - 使用实际值创建虚拟列