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

Pandas如何拆分列内嵌套列表、按起止索引提取文本赋值标签并解决报错

报错原因
  1. 存在label为空列表[]或NaN的行:空列表取索引0直接触发IndexError,NaN为float类型,做下标操作会触发TypeError: 'float' object is not subscriptable。
  2. 取值逻辑错误:label列为嵌套列表结构(如[[506, 799, label_1]]),原代码直接用x["label"][0]作为切片起始索引,实际x["label"][0]是内层完整列表[506, 799, label_1],不符合切片语法要求。
正确实现代码
# 过滤label为NaN、空列表的无效行
df = df[df["label"].notna() & (df["label"].str.len() > 0)].copy()

# 按标注索引提取子串
df["data"] = df.apply(
    lambda x: x["data"][x["label"][0][0] : x["label"][0][1] + 1], axis=1
)

# 提取最终label值
df["label"] = df["label"].str[0].str[2]

执行后即可得到期望的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:24:01