错误从数组中提取元素。蟒蛇

时间:2012-03-21 23:15:37

标签: python numpy

我有一个像这样的numpy数组

a = np.array(1)

现在,如果我想从这个数组中获得1。我该怎样撤回这个?

我试过了

a[0], a(0).. 

IndexError: 0-d arrays can't be indexed

TypeError: 'numpy.ndarray' object is not callable

我甚至试图做一些奇怪的扁平化和东西,但我很确定它不应该那么复杂.. 我在两个都得到错误..我想要的是1作为一个整数? 感谢

1 个答案:

答案 0 :(得分:34)

您使用

创建的内容
a = np.array(1)

是零维数组,无法对其进行索引。您也不需要对其进行索引 - 您可以直接使用a,就好像它是标量值一样。如果您确实需要其他类型的值,例如float,则可以使用float(a)显式转换它。如果您需要在数组的基本类型中使用它,则可以使用a.item()a[()]

请注意,零维数组是 mutable 。如果更改数组中单个条目的值,则通过对存储的数组的所有引用都可以看到此值。如果要存储不可变值,请使用a.item()

如果您想要使用单个元素的一维数组,请使用

a = np.array([1])

您现在可以使用a[0]访问单个元素。