python - 错误:使用序列设置数组元素
问题描述
当我运行以下代码时,为了初始化二维矩阵:
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
为矩阵的元素。
解决方案
推荐阅读
- wpf - 在 ScrollViewer 内自动滚动网格导致闪烁/脉冲效果
- typescript - Typescript 从 ArrayBuffer 获取 Int8Array
- r - 基于组的行长度对分组变量进行条件过滤
- python - 在 python 中打开 .csv 文件时语法无效
- python - 为什么 R 的复制将日期转换为数字?
- amazon-web-services - AWS IAM Policy grant permissions for some EC2 instances
- amazon-athena - Athena 查询结果:它们总是字符串吗?
- javascript - Problems adding new sliders with javascript in the same page
- vb.net - DataGridView:CellEnter 未显示正确的 RowCount
- postgresql - 使用 Postgres 计算 jsonb 数组中的对象