我想我理解该错误,即您无法更改某些类型的数据的某个索引,但是,我不知道此过程在哪里发生。
我正在尝试获取一个字符串(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