gpt4 book ai didi

python - 使用 Numpy 将 3D 矩阵中的最后一列设置为所有其他列的总和

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

对于下面的矩阵 P,我想将每行中的最后一个元素设置为该行所有其他元素的总和。例如:

原始矩阵:

In [70]: print P
[[[1 2 3 0]
[4 1 2 0]
[7 1 2 0]]
[[7 2 5 0]
[8 2 4 0]
[6 3 1 0]]]

求和后:

In [73]: print P
[[[ 1 2 3 6]
[ 4 1 2 7]
[ 7 1 2 10]]
[[ 7 2 5 14]
[ 8 2 4 14]
[ 6 3 1 10]]]

我能够通过分别对 P[0] 和 P[1] 求和来做到这一点,即

In [71]: P[0,:,3] = numpy.sum( P[0,:,:3], axis=1)
In [72]: P[1,:,3] = numpy.sum( P[1,:,:3], axis=1)

但是有没有办法在一行中完成呢?

最佳答案

尝试:

p[:, :, -1] = p[:, :, :-1].sum(axis=2)

如果您在没有清零列的情况下开始,您可以:

np.concatenate([p, p.sum(axis=2)[:, :, None]], axis=2)

关于python - 使用 Numpy 将 3D 矩阵中的最后一列设置为所有其他列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471628/

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