NumPy数组属性

1. NumPy数组属性

属性 说明
ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray元素的实部
ndarray.imag ndarray 元素的虚部
ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

1.1 ndarray.ndim

用于返回数组的维度,等于秩。

import numpy as np

na = np.array(24)
na.ndim		# 1

nb = na.reshape(2, 4, 3)
b.ndim		# 3

1.2 ndarray.shape

数组的维度,返回一个元组,(n, m)表示n行xm列,也可以用来调整数组的大小。

import numpy as np

na = np.array([1, 2, 3], [4, 5, 6])
na.shape		# (2, 3)
  • 调整大小
import numpy as np

na = np.array([1, 2, 3], [4, 5, 6])
na.shape=(3, 2)
na
'''
array([[1, 2],
       [3, 4],
       [5, 6]])
'''
  • NumPy也提提供了reshape函数来调整数组大小
import numpy as np

na = np.array([1, 2, 3], [4, 5, 6])
na.reshape(3, 2)
na
'''
array([[1, 2],
 	   [3, 4],
 	   [5, 6]])
'''

1.3 ndarray.itemsize

以字节的形式返回数组中每个元素的大小

import numpy as np

na = np.array([1, 2, 3, 4], dtype=np.int8)
na.itemsize		# 1

nb = np.array([1, 2, 3, 4], dtype=np.float64)
nb.itemsize		# 8

1.4 ndarray.flags

返回ndarray对象的内存信息

import numpy as np

na = np.array([1, 2, 3, 4, 5])
na.flags
'''
C_CONTIGUOUS : True		数据是在一个单一的C风格的连续段中
F_CONTIGUOUS : True		数据是在一个单一的Fortran风格的连续段中
OWNDATA : True			数组拥有它所使用的内存或从另一个对象中借用它
WRITEABLE : True		数据区域可以被写入,将该值设置为 False,则数据为只读
ALIGNED : True			数据和所有元素都适当地对齐到硬件上
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False	这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新
'''
posted @ 2020-01-14 21:54  油饼er  阅读(324)  评论(0编辑  收藏  举报