第三节.数组属性
数组属性反映了数组本身固有的信息。 一般来说,通过属性访问数组可以让你获得并有时设置数组的内部属性,而不需要创建一个新的数组。 暴露的属性是数组的核心部分,只有其中一些可以有意义的重置,而不需要创建一个新的数组。 每个属性的信息如下。
1.内存布局
下面属性包含的信息是数组内存布局有关的内容:
ndarray.flags |
数组内存布局相关的信息 |
---|---|
ndarray.shape |
数组维度元组 |
ndarray.strides |
遍历数组时遍历每个维度的字节元组 |
ndarray.ndim |
数组维度数. |
ndarray.data |
Python缓冲区对象指向数组的数据的开始 |
ndarray.size |
数组中的元素数量 |
ndarray.itemsize |
一个数组元素的长度,以字节为单位 |
ndarray.nbytes |
数组元素消耗的总字节数 |
ndarray.base |
如果内存来自其他对象,则为基础对象 |
2.数据类型
可以参考:https://docs.scipy.org/doc/numpy-1.14.0/reference/arrays.dtypes.html#arrays-dtypes
与数组关联的数据类型对象可以在dtype属性中找到:
ndarray.dtype |
数组元素的数据类型 |
---|---|
3.其他属性
ndarray.T |
与self.transpose()相同,除了如果self.ndim <2,则返回self |
---|---|
ndarray.real |
数组的实际部分 |
ndarray.imag |
数组的虚部 |
ndarray.flat |
数组上的一维迭代器。 |
ndarray.ctypes |
一个对象来简化数组与ctypes模块的交互 |
4.数组接口
可以参考:https://docs.scipy.org/doc/numpy-1.14.0/reference/arrays.interface.html#arrays-interface
__array_interface__ |
数组接口的Python端 |
---|---|
__array_struct__ |
数组接口的C端 |
5.ctypes外部函数接口
ndarray.ctypes |
一个对象来简化数组与ctypes模块的交互 |
---|---|