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

从DataFrame提取英文单词存入列表返回空列表,如何解决?

问题分析与解决方法

原代码的问题

  • 错误使用==匹配正则表达式:==是精确字符串匹配,无法识别正则规则,你的条件永远不会成立,因此列表始终为空。
  • 逻辑错误:就算条件成立,代码直接把整个Subject列转成列表,并没有提取每个元素里的英文单词。

正确实现方式

用Python的re模块提取每个字符串中符合规则的英文单词,再汇总到目标列表中。

代码示例

import re
import pandas as pd

englishSubject = []
# 匹配包含字母、可前后带数字的英文单词
pattern = r'\b[0-9]*[A-Za-z]+[0-9]*\b'

for text in df['Subject']:
    # 转成str避免非字符串类型(如NaN)报错,提取所有符合规则的单词
    words = re.findall(pattern, str(text))
    # 将提取到的单词合并到总列表
    englishSubject.extend(words)

# 可选操作:如果需要去重的单词列表
englishSubject = list(set(englishSubject))

代码说明

  • re.findall(pattern, str(text)):遍历每个Subject字段,提取所有符合正则规则的单词,转成str是为了兼容字段中的非字符串类型。
  • extend(words):把每个字段提取到的单词列表合并到总列表,而非覆盖原有内容。
  • 去重步骤:如果需要唯一的单词集合,用list(set(...))处理即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 11:18:24