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

ndarray.shape

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)

#输出
[[1 2 3]
 [4 5 6]]
(2, 3)

调整数组大小

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
a.shape = (3, 2)
print(a)

#输出
[[1 2]
 [3 4]
 [5 6]]

ndarray.itemsize

一个元素类型为float64的数组itemsize属性为8,占用64个bites, 每个字段长度为8,64/8所以占有8个字节


import numpy as np
x = np.array([1, 2, 3, 4, 5], dtype=np.int8)
print(x.itemsize)
y = np.array([1, 2, 3, 4, 5], dtype=np.float64)
print(y.itemsize)

#输出
1
8

ndarray.flags

C_CONTIGUOUS (C) 数据是在一个单一的C风格的连续段中

F_CONTIGUOUS (F) 数据是在一个单一的Fortran风格的连续段中

OWNDATA (O) 数组拥有它所使用的内存或从另一个对象中借用它

WRITEABLE (W) 数据区域可以被写入,将该值设置为 False,则数据为只读

ALIGNED (A) 数据和所有元素都适当地对齐到硬件上

UPDATEIFCOPY (X) 该数组是某个其他数组(由 .base 引用)的副本。当调用C-API 函数PyArray_ResolveWritebackIfCopy 时,将使用该数组的内容更新基本数组

import numpy as np
x = np.array([1, 2, 3, 4, 5])
print(x.flags)

#输出
C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
Categories: python

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注