Numpy基础
1
Numpy数组对象以及创建方式
ndarray是一个多维数组对象,由“实际数据”+“元数据”组成
创建一维数组
创建多维数组
2
选取数组元素
首先创建一个2*2数组:
开始选取:
3
指定Numpy数据类型
4
索引与切片
一维数组的索引与切片
多维数组的索引与切片
首先创建一个数组并改变其维度为3维
选取特定元素:
切片:
间隔选取
::2代表间隔为2(含第一个元素)
上下翻转:
其实就是把列逆序重排了一下
5
改变数组维度
(1)ravel:将ndarray展平成一维数组
(2)flatten:作用与ravel类似,但是它会请求分配内存来保存结果
(3)用tuple来设置维度,功能同reshape:
(4)transpose:转置
(5)resize:同reshape,但会直接修改所操作的数组
6
数组的组合
首先,我们来创建一个数组 :
或者
两者都可以生成,whatever,我们已经创建完了数组a,下面来创建数组b
(1)水平组合
hstack
concatenate
(2)垂直组合
vstack
concatenate
一般来说,axis=0在行(竖向)方向上处理,axis=1在列(横向)方向上处理
(3)深度组合
所谓深度组合,就是将一系列数组沿着纵轴方向进行层叠组合
(4)列组合
column_stack
所以对于二维数组,column_stack与hstack效果相同
(5)行组合
row_stack
所以对于二维数组,row_stack与vstack效果相同
7
数组的分割
(1)水平分割
hsplit
split,取axis=1
(2)垂直分割
vsplit
split,取axis=0
(3)深度分割
所谓深度分割,就是按照深度方向分割数组
首先创建一个3维数组
然后利用dsplit函数进行深度分割
分割成了1个列表,长度为3
8
数组的属性
ndim:给出数组的维数或者数组轴的个数
size:给出数组元素的总个数
itemsize:给出数组中的元素在内存中所占用的字节数
nbytes:size*itemsize
T:与transpose一样
复数的虚部用j表示:
real:给出复数数组的实部:
imag:给出复数数组的虚部:
fliter属性将返回一个numpy.flatiter对象:
还可以直接用flatiter队对象获取一个数组元素:
或者获取多个元素:
falt是一个可赋值的属性,赋值将导致整个数组数组的元素都被覆盖:
或者:
9
数组的转换
tolist函数:将Numpy转换为Python列表
astype函数可以在转换数组时指定数据类型:
领取专属 10元无门槛券
私享最新 技术干货