Numpy——ndarray对象
什么是ndarray对象
NumPy
为什么能够受到各个数据科学从业人员的青睐与追捧,其实很大程度上是因为NumPy
在向量计算方面做了很多优化,接口也非常友好(总之就是用起来很爽)。而这些其实都是在围绕着NumPy
的一个核心数据结构ndarray(也就是n维数组)
。ndarray
是同质的。同质的意思就是说N
维数组里的所有元素必须是属于同一种数据类型的。
ndarray
对象实例化好了之后,包含了一些基本的属性。比如shape
,ndim
,size
,dtype
。其中:
-
shape
:ndarray
对象的形状,由一个tuple
表示; -
ndim
:ndarray
对象的维度; -
size
:ndarray
对象中元素的数量; -
dtype
:ndarray
对象中元素的数据类型,例如int64
,float32
等。
例如:
a = np.array([[1,5,9,7,3], [3,5,7,9,1], [6,5,4,2,8]]) # 打印a的shape,ndim,size,dtype print(a.shape) print(a.ndim) print(a.size) print(a.dtype)
结果:
ndarray
的shape
是(3, 5)
(代表3
行5
列);
ndim
是2
(因为矩阵有行和列两个维度);
size
是15
(因为矩阵总共有15
个元素);
dtype
是int32
(因为矩阵中元素都是整数,并且用32
位整型足够表示矩阵中的元素)。
如何实例化ndarray对象
使用array函数实例化ndarray对象
import numpy as np # 使用列表作为初始值,实例化ndarray对象a a = np.array([1,5,9]) # 打印ndarray对象a print(a)
结果:
使用zeros,ones,empty函数实例化ndarray对象
通常在写代码的时候,数组中元素的值一般都喜欢先初始化成0
,如果使用array
的方式实例化ndarray
对象的话,虽然能实现功能,但显得很麻烦(首先要有一个全是0
的list
)。那有没有简单粗暴的方式呢,有!!那就是zeros
函数,你只需要把ndarray
的shape
作为参数传进去即可。
import numpy as np # 实例化ndarray对象a,a是一个4行5列的矩阵,矩阵中元素全为0 a = np.zeros((4, 5)) # 打印ndarray对象a print(a)
结果:
如果想把数组中的元素全部初始化成1
,聪明的你应该能想到就是用ones
函数,ones
的用法与zeros
一致。
import numpy as np # 实例化ndarray对象a,a是一个4行5列的矩阵,矩阵中元素全为1 a = np.ones((4, 5)) # 打印ndarray对象a print(a)
结果:
想要用随机值作为初始值来实例化ndarray
对象,empty
函数能够满足你。
import numpy as np # 实例化ndarray对象a,a是一个4行5列的矩阵,矩阵中元素全为随机值 a = np.empty((4, 5)) # 打印ndarray对象a print(a)
结果: