#创建ndarray
importnumpy as np
nd= np.array([2,4,6,'11'])#numpy中默认ndarray的所有元素的数据类型是相同,如果数据的类型不同,会统一为统一类型,优先级为str>float>int
nd #array(['2', '4', '6', '11'], dtype='

#使用np创建routines函数创建#(1)np.one(shape,dtype=None,order='C')创建数组#根据所给的形状和类型返回一个元素全部为1的数组。默认numpy.float64类型#参数:#shape:定义返回元祖的形状,传入int或者ints元祖,如果传入int,返一维数组#如果传入ints元祖,返回多维数组#dtype:定义的数据类型,可选参数,默认numpy.float64.例如:numpy.int8#order:可选,返回多维数组时,内存的排列方式

np.ones(shape=(5,4)) #返回一个5行4列的数组,元素的内容都为1

ones = np.ones(shape=(3,2,3), dtype=int) #返回3个两行三列都为1的数组

#(2)np.zeros(shape,dtype=float,order='c')#返回根据给定的形状和类型全部为0的数组

np.zeros(shape=(5,4)) #返回一个5行4列都为0的数组

#(3)np.full(shape,fill_value,dtype=None,order='c')#根据给定的形状和所填充的值,返回一个新的数组

np.full(shape=(6,5,2), 1) #shape可以理解为6个5行2列的数组,并且都是使用1填充。

#(4)np.eye(N,M=None,k=0,dtype=float)#返回一个对角线为1,其他位置为0的数组(可以理解为单位矩阵)#参数:#N:返回数组的行数#M:可选,返回的数组的列表。如果不指定,返回的数组行=列#k:可选,指定对角线的位置#dtype:可选,返回数组的数据类型

np.eye(3,3) #3行3列的数组,主对角线为1, 其余为0

#(5)np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)#在指定的范围内返回均匀间隔的数字, 返回均匀分布的样本#参数:#start: 序列的起始点#end: 序列的结束点#num: 生成的样本数, 默认是50个。

np.linspace(1,10) #50个元素的数组
np.linspace(1,10,10) #array([ 1.,2.,3., 4.,5.,6.,7.,8.,9.,10.]) -- 1-10分成10份

#(6)np.arange([start,]stop,[step,]dtype=None)#类似python原生的range()方法,只不过返回的是array。

np.arange(0,100,step=2) #创建由偶数组成的数组

#(7)np.random.randint(low,high=None, size=None, dtype="l")#生成在区间[low,high)上的随机整数值;若high=None, 则取值区间变为[0,low), size为最大长度, 为整形和整形元组。

np.random.randint(10,20) #生成一个10-19之间的随机值
np.random.randint(10,20,size=10) #返回一个数组,包含10个随机整数
np.random.randint(10,20,size=(2,3,4)) #生成两个3行4列的随机值数组

#(8)np.randn(d0,d1,...dn)#标准的正太分布,参数为维度

np.random.randn(10,5) #如果只给第一个参数为一维,给第二个参数为二维,...

#(9)np.random.normal(loc=0.0, scale=1.0, size=None)#正太分布函数#参数:#loc : 浮点型, 概率分布的均值, 对应着整体分布的中心center#scale :浮点型, 概率分布的标准差#size : 整形或整形数组, 默认为None, 只返回一个值

np.random.normal(175, scale=0, size=100) #概率分布的标准差为0, 返回100个元素的数组, 元素都为175
np.random.normal(175, scale=100, size=100) #100个正太分布元素

#(10)np.random.random(size=None)#生成0到1的随机数。

np.random.random(size=(5,4)) #5行4列