ndarray对象内幕
Numpy 的 ndarray 提供了一种方法将一组同构数据(连续的或跨步的)解释为多维数组对象。数据类型或 dtype 决定数据如何被解释为浮点数、整数、布尔值或我们正在查看的任何其他类型。
让 nadarray 如此灵活的部分原因是每个数组对象都是一个数据块的分步视图。例如,我们可能会想知道数组视图 arr[::2, ::-1] 如何做到不复制任何数据。原因是 ndarray 不仅仅是一块内存和一个 dtype,它还具有 “跨步” 信息,使数组能够以不同的步长在内存中移动。更准确地说,ndarray 内容包含以下内容:
. 指向数据的指针 —— 即 RAM 中或内存映射文件中的数据块
. 数据类型 或 dtype,描述数组中固定大小的值单元格
. 表示数组形状(shape)的元组
. 步长元素,表示要 “步进” 的字节数的整数以便沿维度推进一个元素
简单的 ndarray 内部构造:
例如:一个 10 X 5 的数组,其 shape 为(10, 5):
一个典型的(C阶