python学习numpy基础和应用-5

数组的切片

根据下标,可以得到数组中的某个后者某几个元素,这是从数组中得到部分元素的一种方法。此外,还有另外一种被称为切片的方式,从这个名称大概猜测,切片能设定范围,根据这个范围从原数组中获得部分元素。

·

定义一个从10到20的等差数组。

这波操作跟以往熟知的python列表差不多,同样遵循着包前不包后的原则。

但是,需要了解的是,会发生的一些新的情况。

我们改变b中的元素,发现a中的元素也是改变了。

造成这样的原因,是因为切片之后的数组跟原来的数组共享了同一个内存空间。

还有其他许多的操作:

以上是对以为数组进行的操作,我们试试对二维数组进行操作。

首先定义数组b。

我们大概的可以想象出来,二维数组b拥有0轴,1轴两个轴,如果操作就是对着两个轴进行操作。

首先是对0轴进行操作:

我们能够通过下标或者切片获取数组中的一部分,这种针对数组的操作,是从轴和索引的角度完成的。

还有另一种对数组的操作,是通过属性和函数来实现的。

针对数组的操作:

所谓的数组变形,就是将一个已有的数组按照要求改变其的形状后生成一个新的数组。

reshape函数是数组对象的方法,reshape函数传入的就是新数组的形状。

此外,np也有函数reshape,np.rehsape。

我们仔细看看详细的描述:

np.reshape(a,newshape,order='C')

a是指原数组,newshape用来接收新数组的形状。

如图所示,0轴为-2,而1轴为1,无法描述的形状,那么,numpy会自动判断0轴的元素个数。

对于数组对象,除了使用np.ndarray.reshape()这种方法让数组变形外,还有一种方法可以将多维数组转化为一维数组。

顾名思义,np.ndarray.flatten()函数的作用就是将数组扁平化,变成一位数组。

新的一维数组完全复制了原来的数组内容,并且相对原数组不在同一个视图。

与np.ndarray.flatten()有相同作用的方法还要有np.reval()或np.ndarray.ravel(),它们也能将数组转化为一维,

只不过需要注意的是,它们的具体特点。

而它们的具体特点是指,它们对数组进行变形后得到的新的数组,与原数组公用同一个视图。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值