You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas提取链接最后一个'/'后内容 解决float无rindex属性报错

报错原因
  • 第一,你的names列存在空值,pandas读取数据时会把文本列的空值存为float类型的NaN,对float值调用字符串专属的rindex方法,就会抛出你看到的属性错误。
  • 第二,你写的find_index逻辑本身就不对,它只返回最后一个/的位置下标,就算不报错,拿到的也是数字,根本不是你要的链接后缀内容。
实现方案

不用写自定义函数走apply,直接用pandas内置的字符串处理方法就行,性能比apply高很多,还能自动处理空值:

# 要保留空值就用这个,空值位置最终返回NaN
data_pd['total categories'] = data_pd['names'].str.rsplit('/', n=1).str[-1]

# 不想保留空值,想让空值位置返回空字符串就用这个
data_pd['total categories'] = data_pd['names'].fillna('').astype(str).str.rsplit('/', n=1).str[-1]

逻辑很简单:rsplit('/', n=1)是从字符串最右边开始按/切,只切1次,切完取最后一段就是最后一个/后面的内容。

运行效果

拿你给的样例数据跑,结果完全符合预期:

namestotal categories
https://www1.abc.com/aaa/72566-finance72566-finance
https://www1.abc.com/aaa1/725-z2725-z2
https://www1.abc.com/aaa2/75-z375-z3

内容的提问来源于stack exchange,提问作者Alberto Alvarez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 07:03:27