关于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)
命令的作用。有人可以向我解释吗?
答案 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
将它们视为相同。 (list
与tuple
在创建结构化数组时确实有所不同,但这是更高级的主题。)
请注意形状为(3,)(shape
是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
信息。它可以根据数据推断形状。
array(object,dtype = None,copy = True,order ='K',subok = False,ndmin = 0)
在这些示例中,object
参数是一个列表或列表列表。在这个阶段,我们还没有定义其他参数。