gpt4 book ai didi

python - 4D NumPy 数组中每个 2D 矩阵的最大值

转载 作者:行者123 更新时间:2023-12-02 02:42:16 27 4
gpt4 key购买 nike

我有一个 4D 数组,其定义如下:

B = np.array(
[[[[0.5000, 0.5625],
[0.5000, 0.5625]],

[[1.2500, 0.5000],
[0.5625, 0.6875]],

[[0.5625, 0.6250],
[0.5000, 0.5625]]]]
)

我想取每个二维矩阵的最大值,这样我就能得到结果:

array([0.5625, 1.250, 0.6250])

同样,我想取每个 2D 矩阵的最小值,这样我就得到结果:

array([0.5000, 0.5000, 0.5000])

但是,当执行 np.max(B, axis=0), np.max(B, axis=1), np.max( B, axis=2)np.max(B, axis=3) ——这些都没有给出正确的答案。我需要指定另一个参数来执行此操作吗?

正确的解决方案不应使用任何循环,最好是一个函数调用。

最佳答案

我认为这个问题是对 axis 参数如何工作的误解。对于大多数聚合方法,axis 关键字是沿投影的轴(或多个轴),即这些轴从结果中“删除”。所以在这种情况下你想调用类似的东西:

In [7]: B.max((0, 2, 3))                                                                                                            
Out[7]: array([0.5625, 1.25 , 0.625 ])

分钟也是如此

In [8]: B.min((0, 2, 3))                                                                                                            
Out[8]: array([0.5, 0.5, 0.5])

或者可以直接调用numpy方法

In [9]: np.max(B, axis=(0, 2, 3))                                                                                                   
Out[9]: array([0.5625, 1.25 , 0.625 ])

关于python - 4D NumPy 数组中每个 2D 矩阵的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63368978/

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