gpt4 book ai didi

python - 有效地平均矩阵

转载 作者:太空狗 更新时间:2023-10-29 22:17:14 25 4
gpt4 key购买 nike

在 Python 中,给定一个 n x p 矩阵,例如4 x 4,我如何才能返回一个 4 x 2 的矩阵,它只是对矩阵的所有 4 行的前两列和最后两列进行平均?

例如给出:

a = array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])

返回一个矩阵,它具有 a[:, 0] 和 a[:, 1] 的平均值以及 a[:, 2] 和 a[:, 3] 的平均值。我希望这适用于 n x p 的任意矩阵,假设我平均 n 的列数显然可以被 n 整除。

让我澄清一下:对于每一行,我想取前两列的平均值,然后是后两列的平均值。所以它会是:

1 + 2/2, 3 + 4/2 <- 新矩阵的第 1 行5 + 6/2, 7 + 8/2 <- 新矩阵的第 2 行等。

这应该产生一个 4 x 2 矩阵而不是 4 x 4。

谢谢。

最佳答案

使用一些数学怎么样?您可以定义一个矩阵 M = [[0.5,0],[0.5,0],[0,0.5],[0,0.5]] 以便 A*M 是你想要的。

from numpy import array, matrix

A = array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]])
M = matrix([[0.5,0],
[0.5,0],
[0,0.5],
[0,0.5]])
print A*M

生成 M 也非常简单,条目为 1/n 或零。

关于python - 有效地平均矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2978323/

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