python怎么初始化数组
发布时间:2025-05-08 10:41:52

由于图中x轴和y轴的数据通常是数组格式的数据,因此首先总结了如何初始化数组:
(1)list得到数组
#list对象通过array函数传输 L=[1,2,3,4,5] a=np.array(L)
#如果list传输多层嵌套,将创建多维数组 b=np.array([1,2,3,4],[5,6,7,8],[9,10,11,12]]
#创建dtype参数时,可以指定元素类型 d=np.array([1,2,3,4],[5,6,7,8],[9,10,11,12],dtype=np.float) #如果元素类型发生变化,astype可以安全转换 f=d.astype(np.int)
(2)使用arange
#类似于Python的range,arange也不包括最终值;但是arange可以生成浮点类型,而range只能是整数类型 #1为开始值,10为终止值(不包括),0.5为步长,0.5为步长 a=np.arange(1,10,0.5)
相关推荐:Python基础教程
(3)使用ones、zeros、empty
#np.ones(shape,dtype),所有生成元素均为1(默认浮点型)的数组
#shape可以为一个整数获得一个一维数组,也可以为(整数1、整数2)的格式获得二维数组,也可以获得多维数组
a=np.ones((3,3),dtype=np.int32)
print("a:\n",a)
#np.zeros(shape,dtype),所有生成元素均为0(默认浮点型)的数组
#用法与np.noes()一样
b=np.zeros((3,3),dtype=np.int32)
print("b:\n",b)
#np.empty(shape,dtype),生成元素是随机数(默认浮点类型)的数组
#用法与np.ones()一样
c=np.empty((3,4),dtype=np.int32)
print("c:\n",c)
#np.ones()、np.zeros()、np.empty()复制结构相同的数组有以下形式,但可以选择数据类型
np.ones_like(array,dtype=)
np.zeros_like(array,dtype=)
np.empty_like(array,dtype=)(4)等差数列
#linspace函数通过指定起始值、终止值和元素数创建等差数组,元素之间等步长 #默认情况下,endpoint表示是否包含终止值 b=np.linspace(1,10,10,endpoint=True)
(5)等比数列
#创建指定起始值、终止值、元素数量和基数的等比列 #base表示基数,在1到4之间创建了10个等比数列 d=np.logspace(1,2,10,endpoint=True,base=2) #基数为10,下公式创建了10到100之间的等比数 d=np.logspace(1,2,10,endpoint=True,base=10)
(6)随机数
rand()
#返回服从“0~1”均匀分布的随机数,也可返回服从“0~1”均匀分布的随机数组。 #np.random.rand(d0,d1,..,dn) #在[0,1)内返回一个随机值 In[15]:np.random.rand() Out[15]:0.9027797355532956 #返回3x3数组,数组元素在[0,1)内 In[16]:np.random.rand(3,3) Out[16]: array([0.47507608,0.6425621,0.926529], [0.95028412,0.18413813,0.9187723], [0.89995217,0.42356103,0.81312942] In[17]:np.random.rand(3,3,3) #返回3x3x3数组 Out[17]: array([0.30295904,0.76346848,0.3125168], [0.77845927,0.75020602,0.8470385], [0.232971,0.6596263,0.9329286], [0.24575304,0.9019242,0.62390674] [0.43663215,0.93187574,0.75302239], [0.62658734,0.01582182,0.6478944] [0.22152418,0.51664503,0.419781], [0.472318,0.192485,0.299988], [0.166451,0.6671804,0.3983648]]
randn()
#用法与rand(d0,d1,产生标准正态分布的随机数或随机数组,dn)方法一样 np.random.randn(d0,d1,..,dn)
randint()
#它可以生成随机数或多维随机数组 #np.random.randint(low,high=None,size=None,dtype=) #[0,4)随机数之间的随机数 In[7]:np.random.randint(4) Out[7]:1 #[0,4)之间的一维数组 In[8]:np.random.randint(4,size=4) Out[8]:array(2,2,2,0] #一维数组之间的[4,10) In[9]:np.random.randint(4,10,size=6) Out[9]:array(7、9、7、8、6、9) #2x2数组之间的[4,10) np.random.randint(4,10,size=(2,2),dtype='int32') Out[10]: array([7,4],[6,9]])
uniform()
#产生[low,high)随机数或随机数组均匀分布,low默认为0.0,high默认为1.0 np.random.uniform(low=0.0,high=1.0,size=None)
normal()
#均值为loc,方差为scale服从正太分布的随机数或随机数组,loc默认为0,scale默认为1 np.random.normal(loc=0.0,scale=1.0,size=None)
下一篇 python怎么创建数据库
