婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python中的np.argmin()和np.argmax()函數用法

Python中的np.argmin()和np.argmax()函數用法

熱門標簽:佛山400電話辦理 小蘇云呼電話機器人 北瀚ai電銷機器人官網手機版 北京電銷外呼系統加盟 市場上的電銷機器人 地圖標注面積 所得系統電梯怎樣主板設置外呼 朝陽手機外呼系統 儋州電話機器人

Python np.argmin()和np.argmax()函數

按照axis的要求返回最小的數/最大的數的下標

numpy.argmin(a, axis=None, out=None)
numpy.argmax(a, axis=None, out=None)

a:傳入一個數組,

axis:默認將輸入數組展平,否則,按照axis方向

out:可選

import numpy as np
a = np.arange(6).reshape(2, 3)
a
array([[0, 1, 2],
       [3, 4, 5]])

# 此時自動展平了
np.argmin(a)
0
np.argmax(a)
5
# 在axis方向上找最小的值并返回坐標
np.argmin(a, axis=1)
array([0, 0], dtype=int64)

# 在axis方向上找最大的值并返回坐標
np.argmax(a, axis=1)
array([2, 2], dtype=int64)

當有多個最小值的時候只顯示第一個

a = np.arange(6)
a[4] = 0
a

array([0, 1, 2, 3, 0, 5])

np.argmin(a)
0

Python基礎——min/max與np.argmin/np.argmax

這里應該是拿min/max(更適合處理可迭代對象,可選的參數是key=func)與np.min/np.max(可適合處理numpy.ndarray對象,可選的參數是axis=0或者1)作比較,只不過np.argmin/np.argmax的用法與np.min/np.max相似,這里就不進行更正了。

首先min/max與np.argmin/np.argmax函數的功能不同

前者返回值,后者返回最值所在的索引(下標)

處理的對象不同

前者跟適合處理list等可迭代對象,而后者自然是numpy里的核心數據結構ndarray(多維數組)

min/max是python內置的函數

np.argmin/np.argmax是numpy庫中的成員函數

接口不同

min(iterable, key=func)->value
np.argmin(a, axis=None)

常見的接口如上所示,前者除了一個可迭代對象外,還接收一個函數對象(keyword argument),用于指定比較的對象(也即最值比較的內容是,將迭代對象中的元素逐個賦予func函數對象所得到返回值),可見func只可接受一個參數,如min(dict, key=dict.get)。

而np.argmax更多的是進行軸上的比較(axis=0,也是默認的軸,是列向)

>>> l = ['1', '100', '111', '2']
>>> max(l)
'2'
# 下面我們指定比較內容
>>> max(l, key=lambda x: int(x)
'111'
>>> max(l, key=lambda x: len(x))
'100'
>>> max(l, key=lambda x: len(x) and int(x))
'111'

我們也可將min/max作用于list of lists(這里不對tuple和list作區分):

>>> ll = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
>>> max(ll)

例如根據列表中的每一個元素(tuple或者list類型)的第二位進行求最大值:

>>> l = [(1, 2, 5), (2, 3, 5), (3, 2, 5), (4, 4, 5), (5, 1, 5)]
>>> max(l, key=lambda x: x[1])
(4, 4, 5)
>>> l.index(max(l, key=lambda x: x[1]))
3

默認情況下,max首先進行比較的是items(k,v)中的第一個內容(也即是k),相等的情況下,再進行v的比較。

稍作修改,我們便可實現對v的比較:

>>> max(ll, key=lambda x: x[1])
(-1, 'z')

有時可能最值所在的下標對我們更重要,我們據此下標索引更為豐富的信息。如何不顯式轉化為numpy.ndarray類型(有時也無法轉換,當異質容器時)不通過np.argmax這樣的函數獲得最值(任何值都可以)所在的下標呢?使用list(tuple)的index()成員函數。

>>> ll = [(1, 'a'), (3, 'c'), (4, 'e'), (-1, 'z')]
>>> val = max(ll, lambda x: x[1])
>>> ll.index(val)
3

根據以上用法,我們也可推測并實現一個精簡版的max函數:

def max(items, key=lambda x: x):
    current = items[0]
    for item in items:
        if key(item) > key(current):
            current = item
    return current

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python函數參數和注解的使用
  • python基礎學習之遞歸函數知識總結
  • python中os.path.join()函數實例用法
  • 淺談Python中的函數(def)及參數傳遞操作
  • python 定義函數 返回值只取其中一個的實現
  • python print()函數的end參數和sep參數的用法說明
  • python處理emoji表情(兩個函數解決兩者之間的聯系)
  • Python基礎學習之簡單理解函數

標簽:云南 龍巖 商丘 酒泉 寧夏 定西 江蘇 金融催收

巨人網絡通訊聲明:本文標題《Python中的np.argmin()和np.argmax()函數用法》,本文關鍵詞  Python,中的,np.argmin,和,np.argmax,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python中的np.argmin()和np.argmax()函數用法》相關的同類信息!
  • 本頁收集關于Python中的np.argmin()和np.argmax()函數用法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 巨野县| 益阳市| 高淳县| 栾城县| 江油市| 治县。| 航空| 库车县| 旅游| 江达县| 桦甸市| 东港市| 兴城市| 新化县| 凤山县| 康保县| 信宜市| 桑日县| 哈尔滨市| 柳河县| 南投市| 阜平县| 澜沧| 平顶山市| 黄冈市| 岢岚县| 岳阳县| 江陵县| 阳曲县| 峨眉山市| 荥阳市| 沙田区| 酉阳| 买车| 斗六市| 佛学| 河南省| 牡丹江市| 满城县| 安顺市| 尚义县|