二、Numpy的数组操作

2018-11-28  本文已影响0人  淇漯草

上一次解释了关于Numpy的数据存储。
Numpy

目的:解决python中每一个变量都是一个对象,而造成的巨大空间浪费,提供了类似C语言的存储表示。
np.array()

要点一
array的具体实例是一个对象

这意味着它有许多的属性,我们不能忽略这个问题

有几个基本属性
属性:大小、形状、存储大小、数据类型。
维度ndim、维度大小shape、总大小size
还有dtype,数据类型,itemsize,单个元素字节大小
nbytes,总字节大小

要点二
按照[],选择相应的元素

这是基本选择元素的方法

要点三
根据要点2,使用切片
一维数组切片
二维数组切片

x[:5], x[5:], x[4:7], x[::2](每隔一个元素)
x[::-1]逆序
二维数组中同理
x[:3, ::2]
注:空切片,获得所有的值,
行时,可省略列的空切片

要点四
Numpy中切片后得到的子数组不是副本

想要获得副本则需+copy()
x[:2, :2].copy()

要点五
数组可以通过变形变成矩阵。
矩阵可以通过函数np.concatenate进行拼接

reshape变形

或者使用np.newaxis关键字
np.array([1,2,3])
x.reshape((1,3))
x[np.newaxis, :]\ 得到行
x[:, np.newaxis]\ 得到列
拼接时也可以用np.vstack垂直栈,np.hstack更为简洁
np.dstack可以沿着第三个维度....

要点五
与拼接相反,是分裂

np.split(x,[a,b,c])采用点分裂
np.vsplit(x,[a,b,c])行分裂
np.hsplit(x,[a,b,c])列分裂

上一篇 下一篇

猜你喜欢

热点阅读