Python 使用numpy创建一个数组,该数组包含每个单元格的索引乘法,不带循环
我想做一个函数,得到一个名为“n”的int(例如4), 用它做一个numpy数组,每个单元格都包含它的索引乘法。 我想让它没有任何循环。 例如,对于int为4的情况:Python 使用numpy创建一个数组,该数组包含每个单元格的索引乘法,不带循环,python,numpy,multidimensional-array,indexing,numpy-ndarray,Python,Numpy,Multidimensional Array,Indexing,Numpy Ndarray,我想做一个函数,得到一个名为“n”的int(例如4), 用它做一个numpy数组,每个单元格都包含它的索引乘法。 我想让它没有任何循环。 例如,对于int为4的情况: index_check(4) [[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6], [0, 3, 6, 9]] 我试着使用命令np.arrange、np.reforme、np.tile,但是我被卡住了。 非常感谢您在range array上使用- In [41]: n = 4 In [42]:
index_check(4)
[[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]]
我试着使用命令np.arrange、np.reforme、np.tile,但是我被卡住了。
非常感谢您在range array上使用-
In [41]: n = 4
In [42]: np.multiply.outer(np.arange(n), np.arange(n))
Out[42]:
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])
较短的一个,带解包和范围
-
In [44]: np.multiply.outer(*[range(n)]*2)
Out[44]:
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])
在距离阵列上使用-
In [41]: n = 4
In [42]: np.multiply.outer(np.arange(n), np.arange(n))
Out[42]:
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])
较短的一个,带解包和范围
-
In [44]: np.multiply.outer(*[range(n)]*2)
Out[44]:
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])
您可以使用numpy中的内置函数,该函数提供索引,并使用
np将行索引乘以列索引。如下所示:
np.multiply(*np.indices((4,4)))
输出:
[[0 0 0 0]
[0 1 2 3]
[0 2 4 6]
[0 3 6 9]]
您可以使用numpy中的内置函数,该函数提供索引,并使用np将行索引乘以列索引。如下所示:
np.multiply(*np.indices((4,4)))
输出:
[[0 0 0 0]
[0 1 2 3]
[0 2 4 6]
[0 3 6 9]]
发布你的代码。例如,您首先需要的是一个nxn矩阵。发布你尝试过的,发布你的代码。例如,您首先需要的是一个nxn矩阵。发布你尝试过的内容。