Numpy Ndarray 常用对象属性
2019-05-05 本文已影响0人
ZhenKuanJiang
ndarray.ndim
用于返回数组的维数,等于秩
import numpy as np
a = np.arange(24)
print (a.ndim) # a 现只有一个维度
#输出
1
# 现在调整其大小
b = a.reshape(2,4,3) # b 现在拥有三个维度
print (b.ndim)
#输出
3
ndarray.shape
表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。比如,一个二维数组,其维度表示"行数"和"列数",也可以用于调整数组大小
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print (a.shape)
#输出
(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]]
用 reshape 函数来调整数组大小
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print (b)
#输出
[[1, 2]
[3, 4]
[5, 6]]
ndarray.itemsize
以字节的形式返回数组中每一个元素的大小
import numpy as np
# 数组的 dtype 为 int8(一个字节)
x = np.array([1,2,3,4,5], dtype = np.int8)
print (x.itemsize)
# 数组的 dtype 现在为 float64(八个字节)
y = np.array([1,2,3,4,5], dtype = np.float64)
print (y.itemsize)
#输出
1
8
ndarray.flags
返回 ndarray 对象的内存信息,包含以下属性
C_CONTIGUOUS (C) #数据是在一个单一的C风格的连续段中
F_CONTIGUOUS (F) #数据是在一个单一的Fortran风格的连续段中
OWNDATA (O) #数组拥有它所使用的内存或从另一个对象中借用它
WRITEABLE (W) #数据区域可以被写入,将该值设置为 False,则数据为只读
ALIGNED (A) #数据和所有元素都适当地对齐到硬件上
UPDATEIFCOPY (U) #这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新
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
UPDATEIFCOPY : False