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

Pandas Series调用find报错,如何提取URL中entry/与/event间的唯一数字?

解决方法

你遇到的错误是因为find、partition是Python单个字符串的方法,而df['URL']是Pandas的Series对象,必须通过.str访问器调用字符串处理方法,才能对Series里的每个元素逐行操作。下面提供几种可行的提取方式:

方法一:正则表达式提取(推荐)

用str.extract匹配URL里的数字模式,这是最简洁高效的方式:

import pandas as pd

# 假设你的DataFrame是df
df['entry_id'] = df['URL'].str.extract(r'entry/(\d+)/event')

正则表达式r'entry/(\d+)/event'中,(\d+)会精准捕获entry/和/event之间的所有数字,extract会自动将捕获到的内容生成新列。

方法二:字符串分割

通过两次str.split拆分URL,逐步提取目标内容:

# 第一步按'entry/'拆分,取拆分后的第二部分;第二步按'/event'拆分,取第一部分
df['entry_id'] = df['URL'].str.split('entry/').str[1].str.split('/event').str[0]

方法三:位置切片

先用str.find找到目标片段的起止位置,再用str.slice提取:

# 计算数字起始位置:entry/的结束位置
start_pos = df['URL'].str.find('entry/') + len('entry/')
# 计算数字结束位置:/event的起始位置
end_pos = df['URL'].str.find('/event')
# 切片提取数字
df['entry_id'] = df['URL'].str.slice(start_pos, end_pos)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:25:20