Hướng dẫn python argmin list - danh sách python argmin

Theo

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
1mặc định, hàm hoạt động dọc theo mảng phẳng , trừ khi bạn chỉ định một trục. Để xem điều gì đang xảy ra, bạn có thể sử dụng
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
2một cách rõ ràng:

np.argmax(a)
>>> 5

a.flatten()
>>>> array([ 1,  2,  4,  7,  9, 88,  6, 45,  9, 76,  3,  4])
             0   1   2   3   4   5 

Tôi đã đánh số các chỉ số dưới mảng ở trên để làm cho nó rõ ràng hơn. Lưu ý rằng các chỉ số được đánh số từ 0 đến

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
3.

Trong trường hợp bạn chỉ định trục, nó cũng hoạt động như mong đợi:

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])

Điều này cho bạn biết rằng giá trị lớn nhất nằm trong hàng

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
4(giá trị thứ 2), cho mỗi cột dọc theo
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
5(xuống). Bạn có thể thấy điều này rõ ràng hơn nếu bạn thay đổi dữ liệu của mình một chút:

a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])

Như bạn có thể thấy, bây giờ nó xác định giá trị lớn nhất trong hàng 0 cho cột 1, hàng 1 cho cột 2 và 3 và hàng 3 cho cột 4.

Có một hướng dẫn hữu ích để

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
3lập chỉ mục trong tài liệu .

5 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ

Tôi không thể hiểu đầu ra của

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
7 và
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
8 khi sử dụng với tham số trục. Ví dụ:

>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])

Như bạn có thể thấy, giá trị tối đa là điểm (1,1) và giá trị tối thiểu là điểm (0,0). Vì vậy, theo logic của tôi khi tôi chạy:

  • np.argmax(a,axis=0)
    >>> array([1, 1, 1, 1])
    
    9 Tôi mong đợi
    a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
  • a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
    1 Tôi mong đợi
    a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
  • a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
    3 Tôi mong đợi
    a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
  • a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    
    5 Tôi mong đợi
    a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
    a
    >>> array([[100,   2,   4,   7],
               [  9,  88,   6,  45],
               [  9,  76,   3, 100]])
    
    np.argmax(a, axis=0)
    >>> array([0, 1, 1, 2])
    

Điều gì là sai với sự hiểu biết của tôi về mọi thứ?

Bằng cách thêm đối số

a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])
7, NumPy xem xét các hàng và cột riêng lẻ. Khi không được cung cấp, mảng
a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])
8 được làm phẳng thành một mảng 1D.

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
5 có nghĩa là thao tác được thực hiện xuống các cột của mảng 2D
a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])
8 lần lượt.

Ví dụ:

>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
1 trả về chỉ mục của giá trị tối thiểu trong mỗi bốn cột. Giá trị tối thiểu trong mỗi cột được hiển thị trong đậm bên dưới: đậm bên dưới:

>>> a
array([[ 1,  2,  4,  7],  # 0
       [ 9, 88,  6, 45],  # 1
       [ 9, 76,  3,  4]]) # 2

>>> np.argmin(a, axis=0)
array([0, 0, 2, 2])

Mặt khác,

>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
2 có nghĩa là thao tác được thực hiện ngang các hàng của
a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])
8. 

Điều đó có nghĩa là

>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
4 trả về
>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
5 vì
a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])
8 có ba hàng. Chỉ số của giá trị tối thiểu ở hàng đầu tiên là 0, chỉ số của giá trị tối thiểu của hàng thứ hai và thứ ba là 2:

>>> a
#        0   1   2   3
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])

>>> np.argmin(a, axis=1)
array([0, 2, 2])

Hàm

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
1 theo mặc định hoạt động dọc theo mảng dẹt , trừ khi bạn chỉ định một trục. Để xem những gì đang xảy ra, bạn có thể sử dụng
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
2 một cách rõ ràng:

np.argmax(a)
>>> 5

a.flatten()
>>>> array([ 1,  2,  4,  7,  9, 88,  6, 45,  9, 76,  3,  4])
             0   1   2   3   4   5 

Tôi đã đánh số các chỉ số dưới mảng trên để làm cho nó rõ ràng hơn. Lưu ý rằng các chỉ số được đánh số từ 0 trong

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
3. 

Trong trường hợp bạn chỉ định trục, nó cũng hoạt động như mong đợi:

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])

Điều này cho bạn biết rằng giá trị lớn nhất nằm ở hàng

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
4 (giá trị thứ 2), cho mỗi cột dọc theo
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
5 (xuống). Bạn có thể thấy rõ hơn điều này nếu bạn thay đổi dữ liệu của mình một chút:

a=np.array([[100,2,4,7],[9,88,6,45],[9,76,3,100]])
a
>>> array([[100,   2,   4,   7],
           [  9,  88,   6,  45],
           [  9,  76,   3, 100]])

np.argmax(a, axis=0)
>>> array([0, 1, 1, 2])

Như bạn có thể thấy bây giờ xác định giá trị tối đa trong hàng 0 cho cột 1, hàng 1 cho cột 2 và 3 và hàng 3 cho cột 4.

Có một hướng dẫn hữu ích để lập chỉ mục

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
3 trong tài liệu .

Như một lưu ý phụ: nếu bạn muốn tìm tọa độ giá trị tối đa của mình trong mảng đầy đủ, bạn có thể sử dụng

a=np.array([[1,2,4,7],[9,88,6,45],[9,76,3,4]])
>>> a
[[ 1  2  4  7]
 [ 9 88  6 45]
 [ 9 76  3  4]]

c=(np.argmax(a)/len(a[0]),np.argmax(a)%len(a[0]))
>>> c
(1, 1)
np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
0

Trục trong đối số hàm argmax, đề cập đến trục dọc theo đó mảng sẽ được cắt. 

Trong một từ khác,

np.argmax(a,axis=0)
>>> array([1, 1, 1, 1])
9 thực sự giống với
>>> a
array([[ 1,  2,  4,  7],  # 0
       [ 9, 88,  6, 45],  # 1
       [ 9, 76,  3,  4]]) # 2

>>> np.argmin(a, axis=0)
array([0, 0, 2, 2])
4, nghĩa là tìm ra vị trí tối thiểu cho các vectơ được cắt dọc theo trục = 0.

Do đó, trong ví dụ của bạn,

>>> a = np.array([[1,2,4,7], [9,88,6,45], [9,76,3,4]])
>>> a
array([[ 1,  2,  4,  7],
       [ 9, 88,  6, 45],
       [ 9, 76,  3,  4]])
>>> a.shape
(3, 4)
>>> a.size
12
>>> np.argmax(a)
5
>>> np.argmax(a,axis=0)
array([1, 1, 1, 1])
>>> np.argmax(a,axis=1)
array([3, 1, 1])
>>> np.argmin(a)
0
>>> np.argmin(a,axis=0)
array([0, 0, 2, 2])
>>> np.argmin(a,axis=1)
array([0, 2, 2])
1 là
>>> a
array([[ 1,  2,  4,  7],  # 0
       [ 9, 88,  6, 45],  # 1
       [ 9, 76,  3,  4]]) # 2

>>> np.argmin(a, axis=0)
array([0, 0, 2, 2])
6 tương ứng với các giá trị của
>>> a
array([[ 1,  2,  4,  7],  # 0
       [ 9, 88,  6, 45],  # 1
       [ 9, 76,  3,  4]]) # 2

>>> np.argmin(a, axis=0)
array([0, 0, 2, 2])
7 trên các cột tương ứng