解析代码ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (10,) + inhomogeneous part.
时间: 2023-07-24 07:34:32 浏览: 115
python3.7解决最小二乘遇到ValueError:Expected 2D array, got 1D array instead: array=[5.].关于reshape和predict
这个错误通常出现在试图将一个形状不规则的序列赋值给一个形状规则的数组中。
例如,如果你有一个形状为 (10,) 的数组,你可能会尝试将一个形状为 (3,) 的数组赋值给其中一个元素,这将导致上述错误。
要解决这个问题,你需要确保你将形状相同的序列赋值给数组中的每个元素。你可以使用 reshape() 函数来调整数组的形状,以确保它们与要赋值的序列的形状相同。
如果你需要将一个形状不规则的序列赋值给一个形状规则的数组,你可以使用 numpy.array() 函数来创建一个形状与序列匹配的新数组,然后将序列复制到新数组中。
例如,以下代码演示了如何创建一个形状为 (10,3) 的数组,并将一个形状为 (10,) 的序列分配给第一列:
```python
import numpy as np
# create a 10x3 array
arr = np.zeros((10,3))
# create a 10-element sequence
seq = np.arange(10)
# reshape the sequence to (10,1)
seq = seq.reshape((10,1))
# assign the sequence to the first column of the array
arr[:,0] = seq[:,0]
```
阅读全文