gpt4 book ai didi

python - 使用广播根据向量中的元素乘以矩阵行?

转载 作者:行者123 更新时间:2023-11-28 22:53:39 27 4
gpt4 key购买 nike

假设我有一个矩阵

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.]])

如何写xrange(1,9)之间的一行表达式?列的相同操作的代码是什么?

最佳答案

x * np.arange(1, 9).reshape(-1, 1)

x * arange(1, 9)[:, np.newaxis]

这两种形式都从 arange(1, 9) 中生成一个列向量,它沿 x 的 y 轴很好地传播。

“列的相同操作”只是上面的转置,即跳过reshape操作:

x * arange(1, 4)

关于python - 使用广播根据向量中的元素乘以矩阵行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19181367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com