如何读取numpy.ndarray的数据?

如何读取numpy.ndarray的数据

aaa2 <class 'numpy.ndarray'>
aaa1 (1928,1848,512,512)
aaa2 <class 'numpy.ndarray'>
aaa1 (1928,2156,512,512)
aaa2 <class 'numpy.ndarray'>
aaa1 (1928,2464,512,512)
aaa2 <class 'numpy.ndarray'>
aaa1 (1928,2772,512,512)
aaa2 <class 'numpy.ndarray'>
aaa1 (1928,3069,512,512)
aaa2 <class 'numpy.ndarray'>

返回的是这种格式

如何单独的读取里面的参数数字
比如读取aaa1的第二个数字 1848

阅读 3.1k
2 个回答

最好使用tolist方法.
一维ndarray的 a.tolist()和list(a)是一样的.
二维ndarray情况, tolist()能够递归进行类型转换,而list(a)则只会转换最外面一层.
具体如下:

>>> import numpy as np
>>> a = np.array([[1,2],[3,4]])
>>> list(a)
[array([1, 2]), array([3, 4])]
>>> a.tolist()
[[1, 2], [3, 4]]

如果是零维的话,使用list(b)会发生错误, 而b.tolist()则不会有问题.

>>> b = np.array(1)
>>> b.tolist()
1
>>> list(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: iteration over a 0-d array
>>>

使用强制类型转换将ndarray转为list是肯定可以的,不清楚有没有更优的方法。

import numpy as np
demo = np.array([1928,1848,512,512])
print(type(demo))
print(list(demo)[1])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题