二维数组
以上创建的都是一维数组,下面我们来创建一个二维数组:
arr_bis = np.array([[1,2,3], [4,5,6], [7,8,9]])
但通常我们不需要手动去创建数组,因为这些数组将是我们的数据,我们不需要创建数据,我们更多的是从其他地方导入数组。
但是了解如何创建数组非常重要,因为有时它非常有用。
现在让我向您展示如何创建一些特别的数组:
np.zeros()
空数组:
这是一个非常简单的数组,因为它只是一个只有 0 的矩阵。我们将使用 Numpy 中的 zeros() 函数来创建空数组。
第一个参数 表示 行数,第二个参数表示列数,下面的案例就是 6 行 5列的一个二维数组。
O = np.zeros([6,5])
array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]])
np.identity()
identity() 函数用于一个n*n的单位矩阵(主对角线元素全为1,其余全为0的矩阵)。
np.identity(5)
array([[1., 0., 0., 0., 0.], [0., 1., 0., 0., 0.], [0., 0., 1., 0., 0.], [0., 0., 0., 1., 0.], [0., 0., 0., 0., 1.]])
np.ones()
np.ones()函数返回给定形状和数据类型的新数组,其中元素的值设置为1。此函数与numpy.zeros()函数非常相似。
One = np.ones([6, 5])
array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]])
矩阵之间的数学运算
两个完全相同形状的矩阵可以像数字一样进行相加和相减的运算。这里形状相同可以理解为,两个矩阵拥有完全一样的行数量和列数量。
例如:
O = np.zeros([6,5])
One = np.ones([6, 5])
O + One
结果为:
array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]])
O - One
结果为:
array([[-1., -1., -1., -1., -1.], [-1., -1., -1., -1., -1.], [-1., -1., -1., -1., -1.], [-1., -1., -1., -1., -1.], [-1., -1., -1., -1., -1.], [-1., -1., -1., -1., -1.]])
One * 10
结果为:
array([[10., 10., 10., 10., 10.], [10., 10., 10., 10., 10.], [10., 10., 10., 10., 10.], [10., 10., 10., 10., 10.], [10., 10., 10., 10., 10.], [10., 10., 10., 10., 10.]])
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/01-yongyushujukexuede-python-jichuzhishi/.html