Python numpy中是否有一个函数,它将返回从0的幂到整数的每一行向量的矩阵

Python numpy中是否有一个函数,它将返回从0的幂到整数的每一行向量的矩阵,python,numpy,Python,Numpy,假设我有一个垂直向量X=[,[2],[3]]和整数pow=2。 在numpy中是否有一个函数,它将返回向量x的每一行的矩阵,从0的幂增加到pow(pow=2) 上面的例子应该返回一个矩阵 [[1, 1, 1], [1, 2, 4], [1, 3, 9]] 我看了一下,不过返回了一个数组 接下来,我们可以扩展到2D,然后使用远程阵列提升到威力- X[:,None]**np.arange(3) # Or np.power(X[:,None], np.arange(3)) 样本运行- In

假设我有一个垂直向量X=[,[2],[3]]和整数pow=2。 在numpy中是否有一个函数,它将返回向量x的每一行的矩阵,从0的幂增加到pow(pow=2)

上面的例子应该返回一个矩阵

[[1, 1, 1],
 [1, 2, 4],
 [1, 3, 9]]
我看了一下,不过返回了一个数组

接下来,我们可以扩展到2D,然后使用远程阵列提升到威力-

X[:,None]**np.arange(3)  # Or np.power(X[:,None], np.arange(3))
样本运行-

In [7]: X = np.array([1,2,3])

In [8]: X[:,None]**np.arange(3)
Out[8]: 
array([[1, 1, 1],
       [1, 2, 4],
       [1, 3, 9]])
如果
X
已扩展,只需将其提升到电源即可-

接下来,我们可以扩展到2D,然后使用远程阵列提升威力-

X[:,None]**np.arange(3)  # Or np.power(X[:,None], np.arange(3))
样本运行-

In [7]: X = np.array([1,2,3])

In [8]: X[:,None]**np.arange(3)
Out[8]: 
array([[1, 1, 1],
       [1, 2, 4],
       [1, 3, 9]])
如果
X
已扩展,只需将其提升到电源即可-


我认为没有特定的功能,但可以使用阵列广播

 X = np.array([[1],[2],[3]])
 p = np.arange(0, 2+1)  # powers
 X**p  # row vs column vector broadcasts to 2D matrix

我认为没有特定的功能,但可以使用阵列广播

 X = np.array([[1],[2],[3]])
 p = np.arange(0, 2+1)  # powers
 X**p  # row vs column vector broadcasts to 2D matrix

您正在寻找的功能是


您正在寻找的函数是


如果
n
很大,我建议您使用嵌套循环。计算电力是昂贵的。这样做:

arr = [1]
for i in range(1, p + 1):
   arr.append(p * arr[-1])

如果
n
很大,我建议您使用嵌套循环。计算电力是昂贵的。这样做:

arr = [1]
for i in range(1, p + 1):
   arr.append(p * arr[-1])