首页 > 解决方案 > np.array 命令有什么作用?

问题描述

关于np.array命令的问题。

假设使用打印命令显示缓存的内容是

caches = [array([1,2,3]),array([1,2,3]),...,array([1,2,3])]

然后我执行了以下代码:

train_x = np.array(caches)

当我打印 train_x 的内容时,我有:

train_x = [[1,2,3],[1,2,3],...,[1,2,3]]

现在,行为完全符合我的要求,但并不真正了解该np.array(caches)命令的作用。有人可以向我解释一下吗?

标签: numpyipythonjupyter-notebook

解决方案


制作一维数组

In [89]: np.array([1,2,3])
Out[89]: array([1, 2, 3])
In [90]: np.array((1,2,3))
Out[90]: array([1, 2, 3])

[1,2,3]是一个列表;(1,2,3)是一个元组。 np.array将它们视为相同。(listtuple创建结构化数组时确实有所不同,但这是一个更高级的主题。)

注意形状是 (3,) ( shapeis a tuple)

从嵌套列表制作二维数组 - 列表列表:

In [91]: np.array([[1,2],[3,4]])
Out[91]: 
array([[1, 2],
       [3, 4]])
In [92]: _.shape
Out[92]: (2, 2)

np.array获取数据,而不是shape信息。它从数据中推断出形状。

数组(对象,dtype=None,copy=True,order='K',subok=False,ndmin=0)

在这些示例中,object参数是列表或列表列表。在这个阶段,我们没有定义其他参数。


推荐阅读