我有一个像这样的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作为一个整数? 感谢
答案 0 :(得分:34)
您使用
创建的内容a = np.array(1)
是零维数组,无法对其进行索引。您也不需要对其进行索引 - 您可以直接使用a
,就好像它是标量值一样。如果您确实需要其他类型的值,例如float
,则可以使用float(a)
显式转换它。如果您需要在数组的基本类型中使用它,则可以使用a.item()
或a[()]
。
请注意,零维数组是 mutable 。如果更改数组中单个条目的值,则通过对存储的数组的所有引用都可以看到此值。如果要存储不可变值,请使用a.item()
。
如果您想要使用单个元素的一维数组,请使用
a = np.array([1])
您现在可以使用a[0]
访问单个元素。