np.array命令有什么作用?

时间:2018-06-21 20:56:51

标签: numpy ipython jupyter-notebook

关于np.array命令的问题。

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

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)命令的作用。有人可以向我解释吗?

1 个答案:

答案 0 :(得分:1)

制作一维数组

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,)(shapetuple

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

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信息。它可以根据数据推断形状。

  

array(object,dtype = None,copy = True,order ='K',subok = False,ndmin = 0)

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