通过shape可以改变元素表现形式,也可以通过reshape新建一个数组然后给另一个变量,注意的是,虽然有两个变量,但其指向的数据内存地址是没有发生变化的
a=numpy.array(range(10))
b=a.reshape(2,5)
如果在a中修改数值,在相应的b中位置也会发生变化
其它的几种创建方式:
numpy.arange(start,end,step,dtype)
numpy.linspace(start,end,num,endpoint,reset,dtype)
解释:
num:从区间中分成num等份,
endpoint:区间是否包括end
reset:是否显示跨度
numpy.logspace(start,stop,num,endpoint,base,dtype)
解释:区间是base^start到base^stop
此函数是等比等分,num为份数
frombuffer,fromstring,fromfile可以从字节序列创建数组
在Python中,一个字符串中一个字符占一个字节
numpy.fromstring(s,dtype=np.int8)
字符会自动转化为ascii值
np.int8,数组会一个一个字节的从字符串中提取数据
np.int16,数组会两个两个字节的从字符串中提取数据
ps:在Python中,低位字节会在内存前
dtype=int8 array([97,98])
dtype=int16 array([98*2^8+97])
numpy.fromfunction(func,shape,dtype)
func:传入的需要是个函数,shape传入的是形状,必须是元组(),如果只想创建一个一维的,必须加上’,’eg:(3,),dtype规定的是类型,如果规定的与返回的类型不同,则会在返回时加上返回类型
func函数操作变量的是数组的下标
数组的元素存取与列表list的操作有点类似
注意多远数组的调用
这个下个日记写