Python 使用广播根据向量中的元素乘以矩阵行?
假设我有一个矩阵Python 使用广播根据向量中的元素乘以矩阵行?,python,numpy,Python,Numpy,假设我有一个矩阵 x=array([[ 0., 0., 0.], [ 0., 0., 1.], [ 0., 1., 0.], [ 0., 1., 1.], [ 1., 0., 0.], [ 1., 0., 1.], [ 1., 1., 0.], [ 1., 1., 1.]]) 我想去 array([[ 0., 0., 0.], [ 0., 0.,
x=array([[ 0., 0., 0.],
[ 0., 0., 1.],
[ 0., 1., 0.],
[ 0., 1., 1.],
[ 1., 0., 0.],
[ 1., 0., 1.],
[ 1., 1., 0.],
[ 1., 1., 1.]])
我想去
array([[ 0., 0., 0.],
[ 0., 0., 2.],
[ 0., 3., 0.],
[ 0., 4., 4.],
[ 5., 0., 0.],
[ 6., 0., 6.],
[ 7., 7., 0.],
[ 8., 8., 8.]])
如何在x
和范围(1,9)
之间编写单行表达式?列的相同操作的代码是什么
x * np.arange(1, 9).reshape(-1, 1)
或
这两种形式都由arange(1,9)
组成一个列向量,它沿着x
的y轴很好地广播
“列的相同操作”只是上述操作的转置,即跳过重塑操作:
x * arange(1, 4)
或
这两种形式都由arange(1,9)
组成一个列向量,它沿着x
的y轴很好地广播
“列的相同操作”只是上述操作的转置,即跳过重塑操作:
x * arange(1, 4)