本篇文章介绍了一些Numpy的基础操作。
NumPy 是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
📙参考:NumPy 数据类型 | 菜鸟教程 (runoob.com)
1.Numpy ndarray对象
Numpy最重要的一个特点是其N维数组对象ndarray,它是一系列同类型数据的集合。
下标以0开始进行集合中元素的索引。
ndarray对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
ndarray内容:
一个指向数据的指针
数据类型或dtype,描述在数组中的固定大小值的格子
一个表示数组形状的元组(shape),表示各个维度大小的元组
一个跨度元组(stride)
1.1 创建对象
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数说明:
名称 | 描述 |
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 标识对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 为逻辑值,默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
🙌举个例子:

1.2 ndarray对象常见的属性
属性 | 说明 |
ndarray.ndim | 秩,即轴的数量或维度的数量 |
ndarray.shape | 数组的维度,即矩阵n行m列 |
ndarray.size | 数组元素的总个数,相当于上行的n*m |
ndarray.dtype | ndarray对象的元素类型 |
🙌举个例子:
(1)ndarray.ndim

(2)ndarray.shape

(3)ndarray.size

(4)ndarray.dtype

1.3 数据类型对象(dtype)
数据类型对象(numpy.dtype 类的实例)用来描述与数组对应的内存区域是如何使用。
!!!最大的一点是,结构化数据类型的使用。
结构化数据类型,类型字段和对应的实际类型将被创建。
1.3.1 应用一
(1)首先创建结构化数据类型

(2)应用实例

(3)取值
类型字段名可以用于存取实际的age列的值。

💡总代码:

1.3.2 应用二
定义一个结构化数据类型 student,包含字符串字段 name,整数字段 age,及浮点字段 marks,并将这个 dtype 应用到 ndarray 对象。

⏰总结:
可以先将dtype定义成一个结构化数据,然后再定义array,定义结构化数据的很多个数据的集合。相当于student=np.dtype()封装成一个类,然后a定义成student的集合。