spaCy lemmatizer帮助解密通用错误消息

时间:2017-10-23 19:55:39

标签: python python-3.x pandas spacy

我正在尝试使用以下方法创建一个新的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

我已经google了一下,找到了更合适的语法而没有太多运气。我是Python的新手,真正弄清楚我在寻找什么是一个挑战。

1 个答案:

答案 0 :(得分:2)

看起来您正在将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]