专业编程基础技术教程

网站首页 > 基础教程 正文

Python里NumPy的数组属性

ccvgpt 2024-08-07 19:01:58 基础教程 23 ℃

Python的列表(list)中,元素的本质是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算来说,一是比较浪费内存,二是这种结构不够高效。

Numpy提供了ndarray(N-dimensional array object)对象,即存储单一数据类型的多维数组。

Python里NumPy的数组属性

NumPy 的数组中 ndarray 对象属性包括:

  • ndarray.ndim:数组的维数,一维数组为 1,二维数组为 2
  • ndarray.shape:数组的维度,n行m列
  • ndarray.size:数组元素的总个数,等于n*m
  • ndarray.dtype:数组元素的类型
  • ndarray.itemsize:数组元素的大小,以字节为单位
  • ndarray.real:数组元素的实部
  • ndarray.imag:数组元素的虚部
  • ndarray.flags:数组的内存信息

如下图所示,左边为源代码,右边为执行结果:

上图最后flags的每个属性分别表示:

  • C_CONTIGUOUS:数据是在一个单一的C风格的连续段中
  • F_CONTIGUOUS:数据是在一个单一的Fortran风格的连续段中
  • OWNDATA:数组拥有它所使用的内存或从另一个对象中借用它
  • WRITEABLE:数据区域可以被写入,将该值设置为 False,则数据为只读
  • ALIGNED:数据和所有元素都适当地对齐到硬件上
  • UPDATEIFCOPY:这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新

Tags:

最近发表
标签列表