为什么做以下代码示例:
np.array([[1, 2], [2, 3, 4]])
np.array([1.2, "abc"], dtype=float)
...都报如下错误?
ValueError: setting an array element with a sequence.
最佳答案
您可能正在从一个形状不像多维数组的列表中创建一个数组:
numpy.array([[1, 2], [2, 3, 4]]) # wrong!
numpy.array([[1, 2], [2, [3, 4]]]) # wrong!
在这些示例中,numpy.array
的参数包含不同长度的序列。这些将产生此错误消息,因为输入列表的形状不像可以变成多维数组的“盒子”。
例如,提供一个字符串作为 float
类型数组中的元素:
numpy.array([1.2, "abc"], dtype=float) # wrong!
如果你真的想要一个包含字符串和 float 的 NumPy 数组,你可以使用 dtype object
,它允许数组保存任意 Python 对象:
numpy.array([1.2, "abc"], dtype=object)
关于python - 值错误 : setting an array element with a sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4674473/