spaCy lemmatizer 帮助破译一般错误信息

spaCy lemmatizer help deciphering generic error message

我正在尝试创建一个新的 pandas df 列来保存来自标记化文本列的词形化文本,使用:

df['new_col'] = [tok for token in col:
        lemmas.append(tok.lemma_.lower().strip() if tok.lemma_ != "-PRON-" else tok.lower_)]

但是我遇到了这个一般语法错误:

  File "<ipython-input-19-825d2d6e40ee>", line 1
    df['new_col'] = [tok for token in col:
                                                            ^
SyntaxError: invalid syntax

我在谷歌上四处搜索以找到更合适的语法,但运气不佳。我是 Python 的新手,要真正弄清楚我在寻找什么是一个挑战。

您似乎将 for 循环语法 for x in iterable: 与列表推导语法 [x for x in iterable] 组合在一起。我唯一一次在列表理解中看到冒号是在 lambda 函数中(例如,[lambda x: x*x for x in range(10)])。在这里,冒号没有出现 lambda 表达式,所以解释器窒息了。

希望这就是您要找的:

df['new_col'] = [tok.lemma_.lower().strip() if tok.lemma_ != "-PRON-" else tok.lower_ for tok in col]