首页 > 解决方案 > 错误:使用序列设置数组元素

问题描述

当我运行以下代码时,为了初始化二维矩阵:

X_train_word2vec = np.array(X_train_word2vec)
train_x = np.zeros([X_train_word2vec.shape[0], 150])

for i, sentence in enumerate(X_train_word2vec):
    for j, word in enumerate(sentence):
        train_x[i,j] = model_word2vec.wv[word] 

哪里X_train_word2vec有形(12481,),哪里就train_x有形(12481, 150)。我收到此错误: ValueError: setting an array element with a sequence.

为什么?我想阵列的形状有问题,但我不确定。

更新: 追溯

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-bbd0ab46f676> in <module>()
      4 for i, sentence in enumerate(X_train_word2vec):
      5     for j, word in enumerate(sentence):
----> 6         train_x[i,j] = model_word2vec.wv[word]

ValueError: setting an array element with a sequence.

更新 2:

我发现问题将数组的分配视为 train_x矩阵的元素,因为似乎我们可以仅分配int或分配float为矩阵的元素。

标签: pythonfor-loopmatrix

解决方案


推荐阅读