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括号给它?
语法是否有任何特定原因,因为它们都具有相同的数据类型但遵循不同的语法?
答案 0 :(得分:4)
为了简化Matlab用户到NumPy的过渡,我们构建了一些便利函数,如randn
,它们使用与Matlab等效的相同的调用签名。
更多以NumPy为中心(与以Matlab为中心的)NumPy函数(例如np.zeros
)期望size
(或shape
)成为元组。这允许将dtype
和order
等其他参数传递给函数。
以Matlab为中心的函数假设所有参数都是大小的一部分。
np.random.randn
是NumPy以Matlab为中心的便捷函数之一,以Matlab's randn为模型。以np.random.randn
为准的以NumPy为中心的替代品更为np.random.standard_normal
。