簡體   English   中英

如何在numpy數組中逐軸查找最小值/最大值

[英]how to find minimum/maximum values axis by axis in numpy array

我有一個形狀為(3,1,2)的 NumPy 數組:

A=np.array([[[1,4]],
            [[2,5]],
            [[3,2]]]).

我想得到每列的最小值。

在這種情況下,它們是 1 和 2。我嘗試使用np.amin但它返回一個數組,這不是我想要的。 有沒有辦法在不使用循環的情況下只用一兩行 python 代碼來做到這一點?

您可以將axis指定為numpy.min函數的參數。

In [10]: A=np.array([[[1,4]],
                [[2,5]],
                [[3,6]]])

In [11]: np.min(A)
Out[11]: 1

In [12]: np.min(A, axis=0)
Out[12]: array([[1, 4]])

In [13]: np.min(A, axis=1)
Out[13]: 
array([[1, 4],
       [2, 5],
       [3, 6]])

In [14]: np.min(A, axis=2)
Out[14]: 
array([[1],
       [2],
       [3]])

您需要指定需要沿其找到最小值的軸。 在您的情況下,它沿着前兩個維度。 所以:

>>> np.min(A, axis=(0, 1))
array([1, 2])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM