ndarray数组的索引切片操作和运算

170 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 @TOC

一、索引切片操作

索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程

1、一维数组

与python的列表操作类似

==索引==: 在这里插入图片描述 ==切片==:

a[起始编号:终止编号(不含):步长]

在这里插入图片描述

2、多维数组

==索引==: 我们先创建一个数组 在这里插入图片描述 进行索引操作。每个维度要用逗号隔开,数组正向最小索引是从0开始,这个要注意。若出现负号时,就相当于倒着来看。 在这里插入图片描述 ==切片==: 在这里插入图片描述 下图的意思是:前两个维度无所谓(即都包含),第三个维度采用一维数组的切片方式(::2),也就是第三维度上,步长为2。 在这里插入图片描述 自己动手可以更好理解

二、运算

在这里插入图片描述 ceil:不超过元素的整数值 flloor:小于这个元素的最大整数值 在这里插入图片描述 在这里插入图片描述

@TOC

一、索引切片操作

索引:获取数组中特定位置元素的过程 切片:获取数组元素子集的过程

1、一维数组

与python的列表操作类似

==索引==: 在这里插入图片描述 ==切片==:

a[起始编号:终止编号(不含):步长]

在这里插入图片描述

2、多维数组

==索引==: 我们先创建一个数组 在这里插入图片描述 进行索引操作。每个维度要用逗号隔开,数组正向最小索引是从0开始,这个要注意。若出现负号时,就相当于倒着来看。 在这里插入图片描述 ==切片==: 在这里插入图片描述 下图的意思是:前两个维度无所谓(即都包含),第三个维度采用一维数组的切片方式(::2),也就是第三维度上,步长为2。 在这里插入图片描述 自己动手可以更好理解

二、运算

在这里插入图片描述 ceil:不超过元素的整数值 flloor:小于这个元素的最大整数值 在这里插入图片描述 在这里插入图片描述

@TOC

1、根据python中列表、元组中创建

 x = np.array(list\tuple)
 例如:x = np.array([1,2,4,6])
       y = np.array([5,4],[2,3],[2,8])
       z = np.array((1,2,5,4))
 可以使用dtype指定数据元素类型
 x = np.array(list/tuple,dtype=np.float32)
 

2、使用NumPy中函数创建ndarray数组

在这里插入图片描述 例如: 在这里插入图片描述 在这里插入图片描述 numpy在不指定dtype时,默认为浮点数 在这里插入图片描述 (2,3,4)表示在最外层中有两个元素,而每个元素有三个维度,而每个维度下有四个元素

另外拓展:(在进行大规模科学计算时非常重要) 加粗样式

3、使用NumPy中其他函数创建ndarray数组

4、ndarray数组变换

(1)对于创建好的数组,可以对他进行维度和元素类型上的变换 在这里插入图片描述 创建一个新的数组 a = np.ones((2,3,4),dtype=np.int32) 在这里插入图片描述 在这里插入图片描述 注意:用reshape后,原数组a的shape和size(个数)都不变。而使用resize后,改变了原来数组的shape。 在这里插入图片描述 在这里插入图片描述 使用 new_a = a.astype(==new_type==)来改变数组的数据类型 在这里插入图片描述 注意:astype()的方法会创建一个新的数组。也就是说:numpy将原数组数据拷贝然后返回给新数组,但是元素类型不同。 改变元素类型目的是为了计算的性能或者存储。

(2)ndarray数组也可以转换成python中的一个列表

ls = a.tolist()

在这里插入图片描述 python中列表比numpy运算要慢很多,但是在一些python原生语法中,转换也十分常见。

根据MOOC嵩天老师的python数据分析与展示的学习笔记