我想我理解该错误,即您无法更改某些类型的数据的某个索引,但是,我不知道此过程在哪里发生。

我正在尝试获取一个字符串(tweet),将其拆分为单词,通过w2v词典运行这些单词(如果它们存在于vocab中),然后将这些值求和。我不明白为什么以及在何处分配WordToVector项目(w2v)并收到此错误。

 n['new'] = n['tweet'].apply(lambda x: np.sum([x for w2v[i] in x.split() if i in w2v.vocab]))

'Word2VecKeyedVectors' object does not support item assignment

最佳答案

我看不到其余的代码,但是仅看这一部分,错误似乎就来自内部的for循环:

[x for w2v[i] in x.split() if i in w2v.vocab]


看来w2v对象的类型为'Word2VecKeyedVectors'。因此,您试图将x.split()上找到的每个单词分配给w2v [i]。这给出了错误

'Word2VecKeyedVectors' object does not support item assignment

09-06 08:18