【发布时间】:2020-10-14 03:42:22
【问题描述】:
在 R 中,当我执行以下代码时:
> X=matrix(1,2,3)
> c=c(1,2,3)
> X*c
R 给出以下输出:
[,1] [,2] [,3]
[1,] 1 3 2
[2,] 2 1 3
但是当我在 Python 上执行以下操作时:
>>> import numpy as np
>>> X=np.array([[1,1,1],[1,1,1]])
>>> c=np.array([1,2,3])
>>> X*c
上面的 Python 代码给出以下输出:
array([[1, 2, 3],
[1, 2, 3]])
有什么方法可以让 Python 提供与 R 相同的输出?我想我必须以某种方式告诉 Python 我希望 numpy 将矩阵 X 的每个元素乘以向量 c 沿列而不是沿行的每个元素,但我不知道该怎么做关于这个。
【问题讨论】:
-
在
R中,您正在回收向量 'c' 。它正在按列进行回收 -
是的,但是有什么方法可以从 Python 获得相同的输出(对于给定的矩阵 X 和向量 c)?
-
也许this 可能会有所帮助
-
@akrun 谢谢你的链接。 Python numpy 的 itertools --> 产品等价物是什么? Python numpy 是否存在这种情况?
-
如何使用 2 个长度为 3 的数组产生 (2,3) 结果?
标签: python r numpy matrix vector