一、numpy简介
1.1 定义:
numpy(numeric python)NumPy系统是Python的一种开源的数值计算扩展,它的核心是ndarray对象。
1.2 功能:
1.功能强大的N维数组对象,各种派生对象(如掩码数组和矩阵)
2.精密广播功能函数
3.集成c++和Fortran代码的工具
4.数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。
1.3 NumPy数组 和 原生Python Array(数组)之间的重要区别:
1.numpy数组创建时长度固定,而python数组对象可动态增加。更改numpy数组会创建一个新的数组并删除原来的数组。
2.numpy数组的元素数据类型都必须相同,如果不同,它会统一合适的数据类型。优先级:str>float>int。python对象可以不同。
3.NumPy 数组有助于对大量数据进行高级数学和其他类型的操作。通常,这些操作的执行效率更高,比使用Python原生数组的代码更少。
二、数据类型对象
2.1 定义
数据类型对象(numpy.dtype类的实例)描述了如何解释与数组项对应的固定大小的内存块中的字节。 它描述了数据的以下几个方面:
1.数据类型(整型、浮点型、Python对象等)。
2.数据的大小(例如整数中有多少字节)。
3.数据的字节顺序(little-endian 小端法或 big-endian大端法)。
4.如果数据类型是结构化数据类型,则是其他数据类型的集合(例如,描述由整数和浮点数组成的数组项)。
∙ \bullet ∙ 结构的 “字段” 的名称是什么,通过这些名称可以访问它们。
∙ \bullet ∙ 每个 字段 的数据类型是什么,以及
∙ \bullet ∙ 每个字段占用内存块的哪一部分。
5.如果数据类型是子数组,那么它的形状和数据类型是什么。
2.2 构造数据类型
语法:
numpy.dtype(object, align, copy) # object - 要转换为的数据类型对象
# align - 如果为 true,填充字段使其类似 C 的结构体。
# copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
2.3 数据类型的字符表示
三、ndarray数组对象属性
1.1内存布局:
以下属性包含有关数组内存布局的信息:
方法 | 描述 |
---|---|
ndarray.flags | 有关数组内存布局的信息。 |
ndarray.shape | 数组维度的元组。 |
ndarray.strides | 遍历数组时每个维度中的字节元组。 |
ndarray.ndim | 数组维数。 |
ndarray.data | Python缓冲区对象指向数组的数据的开头。 |
ndarray.size | 数组中的元素数。 |
ndarray.itemsize | 一个数组元素的长度,以字节为单位 |
ndarray. |