python数据分析——numpy创建多维数组的方式
ndarray 多维数组
创建ndarray数组有这些函数:array,zeros,ones,empty,arange,linspace,logspce,random
array——创建列表
array可以创建指定维数的列表,也可以使用dtype指定数据的类型,实现代码块如下:
a = np.array([[2,3,4],[5,6,7]],dtype=float) print(a) print(a.dtype)
其结果如图所示:
zeros——创建全零数组
使用zeros可以创建多维的全零数组,当参数只有一个时,建立一维的,当参数有两个时建立的是二维的,当参数是三个时建立三维的全零数组:
b = np.zeros(4)#默认创建一维 print(b) b1 = np.zeros((3,4))#创建3行4列的数组 两维的 print(b1) b2 = np.zeros((3,4,2))#创建一个三维的数组 print(b2)
代码结果如图:
ones——创建全1的数组
ones用法与zeros相似,只是使用ones创建的数组中元素都是1
c = np.ones((2,3)) print(c)
运行结果如下:
empty——创建空矩阵
使用empty创建一个空矩阵,但是创建的矩阵中的数字是随机生成的,可以指定数组的维度
d = np.empty((3,3))#创建一个指定维度的数组,生成的数组中的数字是随机的 print(d)
结果如下:
arange——类似range
指定范围以及步长
print(np.arange(1,10,2)) print(np.array(range(1,10,2)))
这两行代码是一个意思
结果如图:
linspace——等差数列
linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,axis=0)
通过此函数定义可以看出我们需要指定等差数列开头和结尾,还有在这个范围内要取的数据个数
例如:
e = np.linspace(1,10,5)#等差数列 最后一个表示多少个数字,不是步长 print(e)
结果如图
logspace——等比数列
logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,axis=0)
使用logspace创建等比数列,默认以10为底,可以自行指定底数,设置的参数start,stop都是base的指数,再设置个数,意思就是等比数列范围为basestart到basestop,在这个范围的num个数成等比数列。例如:
f = np.logspace(0,4,3,base=2)#等比数列 #这句话的意思是在2的0次方到2的4次方之间,等比例出现的三个数字 print(f)
结果如图:
random——生成随机数
当使用random.random可以生成指定维数的随机数,但是数据范围为[0,1)
g = np.random.random((2,3,4)) print(g)
使用random.randint可以设置生成的随机数范围
g1 = np.random.randint(10,50,(2,3,4)) print(g1) print('属性:',g.dtype , g.shape , g.size ,g.ndim)#dtype是g的数据类型,shape是g的形状,size是g的元素个数,ndim是g的维度
这是生成10-50之间的数据,234的维度
原文链接:https://blog.csdn.net/weixin_46297839/article/details/107200878