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

posted @ 2021-03-16 16:25  逆袭小白  阅读(5743)  评论(0编辑  收藏  举报