如何初始化数组,python 二维数组初始化
因为绘图中X轴和Y轴的数据通常是数组格式,先总结一下如何初始化数组:
(1)list得到数组
#通过数组函数传递列表对象
L=[1,2,3,4,5,6]
A=np.array(L)#如果传递一个多级嵌套列表,将创建一个多维数组。
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)
#如果更改元素类型,可以使用类型安全转换。
f=d . as type(NP . int)(2)使用arange
#类似于Python的范围,arange也不包括最终值;但是,arange可以生成浮点类型,而range只能是整数类型。
#1是起始值,10是结束值(不包括),0.5是步长。
A=np.arange(1,10,0.5)相关推荐:《Python基础教程》
(3)使用ones、zeros、empty
#np.ones(shape,dtype),它生成一个包含所有1个元素的数组(默认浮点类型)
#shape可以获取一个整数的一维数组,或者(integer 1,integer 2)格式的二维数组。类似地,可以获得多维数组。
a=np.ones((3,3),dtype=np.int32)
打印( a:\n ,a)
#np.zeros(shape,dtype),它生成一个包含所有0元素的数组(默认浮点类型)
#用法与np.noes()相同
b=np.zeros((3,3),dtype=np.int32)
打印( b:\n ,b)
#np.empty(shape,dtype),生成一个包含随机数的数组(默认浮点类型)
#用法与np.ones()相同
c=np.empty((3,4),dtype=np.int32)
打印( c:\n ,c)
#np.ones()、np.zeros()和np.empty()都有以下形式复制结构相同的数组,但是数据类型可以选择。
np.ones_like(array,dtype=)
np.zeros_like(array,dtype=)
np.empty_like(数组,类型=)(4)等差数列
#linspace函数通过指定起始值、结束值和元素个数创建一个算术数组,元素的步长相等。
#endpoint指示是否包括终止值,默认情况下为真。
b=np.linspace(1,10,10,endpoint=True)(5)等比数列
#指定起始值、终止值、元素数和基数,以创建几何级数。
#base表示基数,下面的公式用1到4之间的10个数字创建一个几何级数。
(同down)向下的
bsp;=np.logspace(1,2,10,endpoint=True,base=2)
#基数为10,下式创建了一个10到100之间的有10个数的等比数列
d=np.logspace(1,2,10,endpoint=True,base=10)(6)随机数
rand()
#返回一个服从“0~1”均匀分布的随机数,该随机数在[0,1)内,也可以返回一个由服从“0~1”均匀分布的随机数组成的数组。randn()#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.64225621,0.9926529],
[0.95028412,0.18413813,0.91879723],
[0.89995217,0.42356103,0.81312942]])
In[17]:np.random.rand(3,3,3)
#返回一个3x3x3的数组
Out[17]:
array([[[0.30295904,0.76346848,0.33125168],
[0.77845927,0.75020602,0.84670385],
[0.2329741,0.65962263,0.93239286]],
[[0.24575304,0.9019242,0.62390674],
[0.43663215,0.93187574,0.75302239],
[0.62658734,0.01582182,0.66478944]],
[[0.22152418,0.51664503,0.41196781],
[0.47723318,0.19248885,0.29699868],
[0.11664651,0.66718804,0.39836448]]])
#产生标准正态分布随机数或随机数组,用法与rand(d0,d1,…,dn)方法一样randint()np.random.randn(d0,d1,…,dn)
#可以生成随机数,也可以生成多维随机数组uniform()#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])
#[4,10)之间的2x2数组
np.random.randint(4,10,size=(2,2),dtype='int32')
Out[10]:
array([[7,4],[6,9]])
#产生[low,high)之间的均匀分布随机数或随机数组,low默认为0.0,high默认为1.0normal()np.random.uniform(low=0.0,high=1.0,size=None)
#产生均值为loc,方差为scale的服从正太分布的随机数或随机数组,loc默认为0,scale默认为1np.random.normal(loc=0.0,scale=1.0,size=None)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。