单支架和双支架Numpy阵列有什么区别?

时间:2017-10-08 17:39:53

标签: python arrays numpy

import numpy as np
a=np.random.randn(1, 2)
b=np.zeros((1,2))
print("Data type of A: ",type(a))
print("Data type of A: ",type(b))

输出:

Data type of A:  <class 'numpy.ndarray'>
Data type of A:  <class 'numpy.ndarray'>

在np.zeros()中,为了声明一个数组,我们在2个括号中给出输入,而在np.random.radn()中,我们用1括号给它?

语法是否有任何特定原因,因为它们都具有相同的数据类型但遵循不同的语法?

1 个答案:

答案 0 :(得分:4)

为了简化Matlab用户到NumPy的过渡,我们构建了一些便利函数,如randn,它们使用与Matlab等效的相同的调用签名。

更多以NumPy为中心(与以Matlab为中心的)NumPy函数(例如np.zeros)期望size(或shape)成为元组。这允许将dtypeorder等其他参数传递给函数。 以Matlab为中心的函数假设所有参数都是大小的一部分。

np.random.randn是NumPy以Matlab为中心的便捷函数之一,以Matlab's randn为模型。以np.random.randn为准的以NumPy为中心的替代品更为np.random.standard_normal