python - 值错误 : setting an array element with a seq

为什么做以下代码示例:

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 的参数包含不同长度的序列。这些将产生此错误消息,因为输入列表的形状不像可以变成多维数组的“盒子”。

可能原因2:提供不兼容类型的元素

例如,提供一个字符串作为 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/

相关文章:

bash - 试图在 Bash 的变量中嵌入换行符

linux - 如何反汇编原始 16 位 x86 机器代码?

mysql - 复制整个 MySQL 数据库

regexp)": what d">python - 命名正则表达式组 "(?Pregexp)": what d

linux - 重定向 curl 后获取最终 URL

python - 字符串和字节字符串有什么区别?

python - APT 命令行界面,类似于是/否输入?

linux - 如何在shell中处理10多个参数

python - 解析 .py 文件,读取 AST,修改它,然后写回修改后的源代码

python - 为什么 Python 的原始字符串文字不能以单个反斜杠结尾?