在使用 numpy 时,你会想知道数组的某些信息。很幸运,在这个包里边包含了很多便捷的方法,可以给你想要的信息。
numpy.ndarray.ndim
用于返回数组的维数(轴的个数)也称为秩,一维数组的秩为 1,二维数组的秩为 2,以此类推。
numpy中的rank:指的是多维数组的维数,axes(轴)的个数;
矩阵论,线性代数中的rank:极大线性无关组所含向量的个数。numpy.ndarray.shape
表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即ndim
属性(秩)。numpy.ndarray.size
数组中所有元素的总量,相当于数组的shape
中所有元素的乘积,例如矩阵的元素总量为行与列的乘积。numpy.ndarray.dtype
ndarray
对象的元素类型。numpy.ndarray.itemsize
以字节的形式返回数组中每一个元素的大小。
class ndarray(object):
shape = property(lambda self: object(), lambda self, v: None, lambda self: None)
dtype = property(lambda self: object(), lambda self, v: None, lambda self: None)
size = property(lambda self: object(), lambda self, v: None, lambda self: None)
ndim = property(lambda self: object(), lambda self, v: None, lambda self: None)
itemsize = property(lambda self: object(), lambda self, v: None, lambda self: None)
【例】
import numpy as np
n = [[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]
A = np.array(n)
type(A)
A.ndim#返回矩阵的维度,ndarray的rank和矩阵的rank概念意义完全不同 矩阵中的rank是3 而 ndarray的rank是矩阵的维度为2
A.shape#返回几行几列
A.size#返回ndarray中的元素总量
A.dtype#返回ndarray对象中的元素类型
A.itemsize#以字节的形式返回数组中每一个元素的大小
在ndarray
中所有元素必须是同一类型,否则会自动向下转换,int->float->str
。
【例】
import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(a) # [1 2 3 4 5]
b = np.array([1, 2, 3, 4, '5'])
print(b) # ['1' '2' '3' '4' '5']
c = np.array([1, 2, 3, 4, 5.0])
print(c) # [1. 2. 3. 4. 5.]