最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解numpy的argmax的具體使用

 更新時(shí)間:2019年05月27日 11:30:50   作者:荷楠仁  
這篇文章主要介紹了詳解numpy的argmax的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

從最簡單的例子出發(fā)

假定現(xiàn)在有一個數(shù)組a = [3, 1, 2, 4, 6, 1]現(xiàn)在要算數(shù)組a中最大數(shù)的索引是多少.這個問題對于剛學(xué)編程的同學(xué)就能解決.最直接的思路,先假定第0個數(shù)最大,然后拿這個和后面的數(shù)比,找到大的就更新索引.代碼如下

a = [3, 1, 2, 4, 6, 1]
maxindex = 0
i = 0
for tmp in a:
  if tmp > a[maxindex]:
    maxindex = i
  i += 1
print(maxindex)

這個問題雖然簡單.但是可以幫助我們理解argmax.

解釋

還是從一維數(shù)組出發(fā).看下面的例子.

import numpy as np
a = np.array([3, 1, 2, 4, 6, 1])
print(np.argmax(a))

argmax返回的是最大數(shù)的索引.argmax有一個參數(shù)axis,默認(rèn)是0,表示第幾維的最大值.看二維的情況.

import numpy as np
a = np.array([[1, 5, 5, 2],
       [9, 6, 2, 8],
       [3, 7, 9, 1]])
print(np.argmax(a, axis=0))

為了描述方便,a就表示這個二維數(shù)組.np.argmax(a, axis=0)的含義是a[0][j],a[1][j],a[2][j](j=0,1,2,3)中最大值的索引.從a[0][j]開始,最大值索引最初為(0,0,0,0),拿a[0][j]和a[1][j]作比較,9大于1,6大于5,8大于2,所以最大值索引由(0,0,0,0)更新為(1,1,0,1),再和a[2][j]作比較,7大于6,9大于5所以更新為(1,2,2,1).再分析下面的輸出.

import numpy as np
a = np.array([[1, 5, 5, 2],
       [9, 6, 2, 8],
       [3, 7, 9, 1]])
print(np.argmax(a, axis=1))

np.argmax(a, axis=1)的含義是a[i][0],a[i][1],a[i][2],a[i][3](i=0,1,2)中最大值的索引.從a[i][0]開始,a[i][0]對應(yīng)的索引為(0,0,0),先假定它就是最大值索引(思路和上節(jié)簡單例子完全一致)拿a[i][0]和a[i][1]作比較,5大于1,7大于3所以最大值索引由(0,0,0)更新為(1,0,1),再和a[i][2]作比較,9大于7,更新為(1,0,2),再和a[i][3]作比較,不用更新,最終值為(1,0,2)
再看三維的情況.

import numpy as np
a = np.array([
       [
         [1, 5, 5, 2],
         [9, -6, 2, 8],
         [-3, 7, -9, 1]
       ],

       [
         [-1, 5, -5, 2],
         [9, 6, 2, 8],
         [3, 7, 9, 1]
       ]
      ])
print(np.argmax(a, axis=0))

np.argmax(a, axis=0)的含義是a[0][j][k],a[1][j][k] (j=0,1,2,k=0,1,2,3)中最大值的索引.從a[0][j][k]開始,a[0][j][k]對應(yīng)的索引為((0,0,0,0),(0,0,0,0),(0,0,0,0)),拿a[0][j][k]和a[1][j][k]對應(yīng)項(xiàng)作比較6大于-6,3大于-3,9大于-9,所以更新這幾個位置的索引,將((0,0,0,0),(0,0,0,0),(0,0,0,0))更新為((0,0,0,0),(0,1,0,0),(1,0,1,0)). 再看axis=1的情況.

import numpy as np
a = np.array([
       [
         [1, 5, 5, 2],
         [9, -6, 2, 8],
         [-3, 7, -9, 1]
       ],

       [
         [-1, 5, -5, 2],
         [9, 6, 2, 8],
         [3, 7, 9, 1]
       ]
      ])
print(np.argmax(a, axis=1))

np.argmax(a, axis=1)的含義是a[i][0][k],a[i][1][k] (i=0,1,k=0,1,2,3)中最大值的索引.從a[i][0][k]開始,a[i][0][k]對應(yīng)的索引為((0,0,0,0),(0,0,0,0)),拿a[i][0][k]和a[i][1][k]對應(yīng)項(xiàng)作比較,9大于1,8大于2,9大于-1,6大于5,2大于-5,8大于2,所以更新這幾個位置的索引,將((0,0,0,0),(0,0,0,0))更新為((1,0,0,1),(1,1,1,1)),現(xiàn)在最大值對應(yīng)的數(shù)組為((9,5,5,8),(9,6,2,8)).再拿((9,5,5,8),(9,6,2,8))和a[i][2][k]對應(yīng)項(xiàng)從比較,7大于5,7大于6,9大于2.更新這幾個位置的索引.將((1,0,0,1),(1,1,1,1))更新為((1,2,0,1),(1,2,2,1)).axis=2的情況也是類似的.

參考資料

numpy官方文檔

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對python中 math模塊下 atan 和 atan2的區(qū)別詳解

    對python中 math模塊下 atan 和 atan2的區(qū)別詳解

    今天小編就為大家分享一篇對python中 math模塊下 atan 和 atan2的區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python必學(xué)知識之裝飾器詳解

    python必學(xué)知識之裝飾器詳解

    這篇文章主要介紹了python必學(xué)知識之裝飾器詳解,python的三大器指的是:裝飾器、迭代器、生成器,下面就裝飾器整理一下從各種資源收獲的對裝飾器的理解,需要的朋友可以參考下
    2023-09-09
  • pycharm 配置svn的圖文教程(手把手教你)

    pycharm 配置svn的圖文教程(手把手教你)

    這篇文章主要介紹了pycharm 配置svn的圖文教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫的操作示例

    Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫的操作示例

    SQLAlchemy是Python的SQL工具包和對象關(guān)系映射(ORM)庫,它提供了全套的企業(yè)級持久性模型,用于高效、靈活且優(yōu)雅地與關(guān)系型數(shù)據(jù)庫進(jìn)行交互,這篇文章主要介紹了Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫,需要的朋友可以參考下
    2024-08-08
  • Python?flask框架post接口調(diào)用示例

    Python?flask框架post接口調(diào)用示例

    這篇文章主要介紹了Python?flask框架post接口調(diào)用,結(jié)合實(shí)例形式分析了基于flask框架的post、get請求響應(yīng)及接口調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python單例模式之selenium driver實(shí)現(xiàn)單例

    python單例模式之selenium driver實(shí)現(xiàn)單例

    這篇文章主要介紹了python單例模式之selenium driver實(shí)現(xiàn)單例,使用裝飾器實(shí)現(xiàn)單例,文章基于python的相關(guān)資料實(shí)現(xiàn)主題,具有一的的參考價(jià)值,需要的朋友可以參考一下
    2022-03-03
  • Python用Flask和PyMySQL實(shí)現(xiàn)MySQL數(shù)據(jù)庫的增刪改查API

    Python用Flask和PyMySQL實(shí)現(xiàn)MySQL數(shù)據(jù)庫的增刪改查API

    Web開發(fā)中,API常需與數(shù)據(jù)庫交互以實(shí)現(xiàn)數(shù)據(jù)的持久化存儲,MySQL作為主流關(guān)系型數(shù)據(jù)庫,廣泛用于各類項(xiàng)目,本文基于Flask框架,結(jié)合PyMySQL庫,實(shí)現(xiàn)對MySQL數(shù)據(jù)庫的增刪改查(CRUD)API,適合有基礎(chǔ)Flask知識和MySQL基礎(chǔ)的開發(fā)者,完整覆蓋環(huán)境搭建、數(shù)據(jù)庫設(shè)計(jì)、API開發(fā)及測試
    2025-09-09
  • Python實(shí)現(xiàn)從線程獲取返回值

    Python實(shí)現(xiàn)從線程獲取返回值

    本文介紹了Python中線程的概念、創(chuàng)建線程的方法和在線程中獲取函數(shù)返回值的技巧,線程作為進(jìn)程中的執(zhí)行單元,可以實(shí)現(xiàn)程序的并發(fā)運(yùn)行,文章通過示例代碼展示了如何在Python中使用Thread類創(chuàng)建線程,并講解了在線程中傳遞參數(shù)和獲取返回值的方法
    2024-09-09
  • python 抽象類的使用詳解

    python 抽象類的使用詳解

    這篇文章主要介紹了python 抽象類的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 詳解Python 定時(shí)框架 Apscheduler原理及安裝過程

    詳解Python 定時(shí)框架 Apscheduler原理及安裝過程

    Apscheduler是一個非常強(qiáng)大且易用的類庫,可以方便我們快速的搭建一些強(qiáng)大的定時(shí)任務(wù)或者定時(shí)監(jiān)控類的調(diào)度系統(tǒng),這篇文章主要介紹了Python 定時(shí)框架 Apscheduler ,需要的朋友可以參考下
    2019-06-06

最新評論

花莲县| 柘荣县| 诸城市| 尚志市| 龙泉市| 潼关县| 衡阳县| 柳河县| 凌海市| 喜德县| 泽州县| 岗巴县| 开江县| 安平县| 惠来县| 涿鹿县| 耒阳市| 子洲县| 东乡县| 肃南| 水富县| 马鞍山市| 哈尔滨市| 兴宁市| 天水市| 永修县| 宜阳县| 库车县| 靖州| 肇州县| 牡丹江市| 广宗县| 平乡县| 银川市| 屏东县| 平凉市| 泸溪县| 长宁县| 通州市| 治多县| 获嘉县|