我正在尝试使用以下方法创建一个新的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的新手,真正弄清楚我在寻找什么是一个挑战。
答案 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]