Python 如何创建8*8的numpy矩阵
我想做一个8*8的矩阵,所以我用了这个:Python 如何创建8*8的numpy矩阵,python,matrix,numpy-ndarray,Python,Matrix,Numpy Ndarray,我想做一个8*8的矩阵,所以我用了这个: s=np.indices((8,8)) 输出: array([[[0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3, 3, 3], [4, 4, 4, 4, 4, 4, 4, 4], [5, 5, 5, 5, 5, 5, 5, 5],
s=np.indices((8,8))
输出:
array([[[0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1],
[2, 2, 2, 2, 2, 2, 2, 2],
[3, 3, 3, 3, 3, 3, 3, 3],
[4, 4, 4, 4, 4, 4, 4, 4],
[5, 5, 5, 5, 5, 5, 5, 5],
[6, 6, 6, 6, 6, 6, 6, 6],
[7, 7, 7, 7, 7, 7, 7, 7]],
[[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7],
[0, 1, 2, 3, 4, 5, 6, 7]]])
但是,我只需要一个看起来像第一个矩阵的矩阵。试试类似的东西
有很多方法可以做到这一点:
np.index()结果的第一个元素
np.arange()的结果
dtype
——前两个返回int
数组,其余返回float
数组,但更改类型非常简单):
找出哪一个是最有效的,留给读者作为练习。
numpy.zeros(shape=(8,8))
如果您想要一个8x8矩阵,其中填充0,那么您希望该矩阵的内容是什么?结果应该与第一个数组类似。
import numpy as np
zeors_array = np.zeros( (8, 8) )
print(zeors_array)
np.indices((8,8))[0]
np.tile(np.arange(8), (8, 1)).T
np.zeros((8, 8)) + np.arange(8)[:, None]
# or
(np.zeros((8, 8)) + np.arange(8)).T
np.arange(8)[:, None] * np.ones((1, 8))
# or
(np.ones((8, 1)) * np.arange(8)).T
array([[0., 0., 0., 0., 0., 0., 0., 0.],
[1., 1., 1., 1., 1., 1., 1., 1.],
[2., 2., 2., 2., 2., 2., 2., 2.],
[3., 3., 3., 3., 3., 3., 3., 3.],
[4., 4., 4., 4., 4., 4., 4., 4.],
[5., 5., 5., 5., 5., 5., 5., 5.],
[6., 6., 6., 6., 6., 6., 6., 6.],
[7., 7., 7., 7., 7., 7., 7., 7.]])