欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Numpy教程之排序,搜索和計(jì)數(shù)詳解

 更新時(shí)間:2022年08月30日 15:50:18   作者:海擁  
這篇文章主要為大家詳細(xì)介紹了Python?NumPy中排序,搜索和計(jì)數(shù)的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下

排序

排序是指以特定格式排列數(shù)據(jù)。排序算法指定以特定順序排列數(shù)據(jù)的方式。最常見的順序是數(shù)字或字典順序。在 Numpy 中,我們可以使用庫中提供的各種函數(shù)(如 sort、lexsort、argsort 等)執(zhí)行各種排序操作。

numpy.sort(): 此函數(shù)返回?cái)?shù)組的排序副本。

# 導(dǎo)入庫
import numpy as np
 
# 沿第一軸排序
a = np.array([[12, 15], [10, 1]])
arr1 = np.sort(a, axis = 0)        
print ("Along first axis : \n", arr1)        
 
 
# 沿最后一個(gè)軸排序
a = np.array([[10, 15], [12, 1]])
arr2 = np.sort(a, axis = -1)        
print ("\nAlong first axis : \n", arr2)
 
 
a = np.array([[12, 15], [10, 1]])
arr1 = np.sort(a, axis = None)        
print ("\nAlong none axis : \n", arr1)

輸出 :

Along first axis : 
 [[10  1]
 [12 15]]

Along first axis : 
 [[10 15]
 [ 1 12]]

Along none axis : 
 [ 1 10 12 15]

numpy.argsort(): 此函數(shù)返回將對(duì)數(shù)組進(jìn)行排序的索引。

# 演示 numpy.argsort 工作的 Python 代碼
import numpy as np
 
# 已創(chuàng)建 Numpy 數(shù)組
a = np.array([9, 3, 1, 7, 4, 3, 6])
 
# 未排序的數(shù)組打印
print('Original array:\n', a)
 
# 排序數(shù)組索引
b = np.argsort(a)
print('Sorted indices of original array->', b)
 
# 要使用排序索引獲取排序數(shù)組 c 是由與 b 相同的 len 創(chuàng)建的臨時(shí)數(shù)組
c = np.zeros(len(b), dtype = int)
for i in range(0, len(b)):
    c[i]= a[b[i]]
print('Sorted array->', c)

在 IDE 上運(yùn)行

輸出:

Original array:
 [9 3 1 7 4 3 6]
Sorted indices of original array-> [2 1 5 4 6 3 0]
Sorted array-> [1 3 3 4 6 7 9]

numpy.lexsort(): 此函數(shù)使用一系列鍵返回間接穩(wěn)定排序。

# 演示 numpy.lexsort() 工作的 Python 代碼
import numpy as np
 
# numpy數(shù)組創(chuàng)建第一列
a = np.array([9, 3, 1, 3, 4, 3, 6])
 
# 第二欄
b = np.array([4, 6, 9, 2, 1, 8, 7]) 
print('column a, column b')
for (i, j) in zip(a, b):
    print(i, ' ', j)
 
# 按 a 然后按 b 排序
ind = np.lexsort((b, a)) 
print('Sorted indices->', ind)

輸出 :

column a, column b
9   4
3   6
1   9
3   2
4   1
3   8
6   7
Sorted indices-> [2 3 1 5 4 6 0]

功能描述
numpy.ndarray.sort()就地對(duì)數(shù)組進(jìn)行排序。
numpy.msort()返回沿第一個(gè)軸排序的數(shù)組的副本。
numpy.sort_complex()首先使用實(shí)部對(duì)復(fù)數(shù)數(shù)組進(jìn)行排序,然后使用虛部。
numpy.partition()返回?cái)?shù)組的分區(qū)副本。
numpy.argpartition()使用 kind 關(guān)鍵字指定的算法沿給定軸執(zhí)行間接分區(qū)。

搜索

搜索是一種操作或技術(shù),可幫助查找給定元素或值在列表中的位置。根據(jù)是否找到正在搜索的元素,任何搜索都被稱為成功或不成功。在 Numpy 中,我們可以使用庫中提供的各種函數(shù)(如 argmax、argmin、nanaargmax 等)執(zhí)行各種搜索操作。

numpy.argmax(): 此函數(shù)返回特定軸中數(shù)組的最大元素的索引。

# 說明 argmax() 工作的 Python 程序
 
import numpy as geek 
 
# 處理二維數(shù)組
array = geek.arange(12).reshape(3, 4)
print("INPUT ARRAY : \n", array)
 
# 沒有提到軸,所以適用于整個(gè)陣列
print("\nMax element : ", geek.argmax(array))
 
# 根據(jù)索引返回最大元素的索引
print(("\nIndices of Max element : "
      , geek.argmax(array, axis=0)))
print(("\nIndices of Max element : "
      , geek.argmax(array, axis=1)))

輸出 :

INPUT ARRAY : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

Max element :  11

Indices of Max element :  [2 2 2 2]

Indices of Max element :  [3 3 3]

numpy.nanargmax(): 此函數(shù)返回忽略 NaN 的特定軸中數(shù)組的最大元素的索引。如果切片僅包含 NaN 和 Infs,則結(jié)果不可信。

# 說明 nanargmax() 工作的 Python 程序
 
import numpy as geek 
 
# 處理一維數(shù)組
array = [geek.nan, 4, 2, 3, 1]
print("INPUT ARRAY 1 : \n", array)
 
array2 = geek.array([[geek.nan, 4], [1, 3]])
 
# 根據(jù)忽略 NaN 的索引返回最大元素的索引
print(("\nIndices of max in array1 : "
       , geek.nanargmax(array)))
 
# 處理二維數(shù)組
print("\nINPUT ARRAY 2 : \n", array2)
print(("\nIndices of max in array2 : "
      , geek.nanargmax(array2)))
 
print(("\nIndices at axis 1 of array2 : "
      , geek.nanargmax(array2, axis = 1)))

輸出 :

INPUT ARRAY 1 : 
 [nan, 4, 2, 3, 1]

Indices of max in array1 :  1

INPUT ARRAY 2 : 
 [[ nan   4.]
 [  1.   3.]]

Indices of max in array2 :  1

Indices at axis 1 of array2 :  [1 1]

numpy.argmin(): 此函數(shù)返回沿軸的最小值的索引。

# 說明 argmin() 工作的 Python 程序
 
import numpy as geek 
 
# 處理一維數(shù)組
array = geek.arange(8)
print("INPUT ARRAY : \n", array)
 
 
# 根據(jù)索引返回 min 元素的索引
print("\nIndices of min element : ", geek.argmin(array, axis=0))

在 IDE 上運(yùn)行

輸出 :

INPUT ARRAY : 
 [0 1 2 3 4 5 6 7]

Indices of min element :  0

功能描述
numpy.nanargmin()返回指定軸中最小值的索引,忽略 NaN。
numpy.argwhere()查找按元素分組的非零數(shù)組元素的索引。
numpy.nonzero()返回非零元素的索引。
numpy.flatnonzero()在 a 的扁平化版本中返回非零索引。
numpy.where()根據(jù)條件返回從 x 或 y 中選擇的元素。
numpy.searchsorted()查找應(yīng)插入元素以保持順序的索引。
numpy.extract()返回滿足某個(gè)條件的數(shù)組元素。

Counting

numpy.count_nonzero() :計(jì)算數(shù)組中非零值的數(shù)量。

# 說明 count_nonzero() 工作的 Python 程序
 
import numpy as np
  
# 計(jì)算多個(gè)非零值
a = np.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]])
b = np.count_nonzero(([[0,1,7,0,0],[3,0,0,2,19]]
                     , axis=0))
 
print("Number of nonzero values is :",a)
print("Number of nonzero values is :",b)

在 IDE 上運(yùn)行

輸出 :

Number of nonzero values is : 5
Number of nonzero values is : [1, 1, 1, 1, 1]

到此這篇關(guān)于Python Numpy教程之排序,搜索和計(jì)數(shù)詳解的文章就介紹到這了,更多相關(guān)Python Numpy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡(jiǎn)單解決Python文件中文編碼問題

    簡(jiǎn)單解決Python文件中文編碼問題

    這篇文章主要介紹了簡(jiǎn)單解決Python文件中文編碼問題的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • 刪除DataFrame中值全為NaN或者包含有NaN的列或行方法

    刪除DataFrame中值全為NaN或者包含有NaN的列或行方法

    今天小編就為大家分享一篇?jiǎng)h除DataFrame中值全為NaN或者包含有NaN的列或行方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python開發(fā)之thread線程基礎(chǔ)實(shí)例入門

    python開發(fā)之thread線程基礎(chǔ)實(shí)例入門

    這篇文章主要介紹了python開發(fā)之thread線程基礎(chǔ),以三個(gè)實(shí)例形式分析了Python中thread線程的基本使用方法,涉及串行與并行程序的執(zhí)行原理及線程的操作技巧,需要的朋友可以參考下
    2015-11-11
  • Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn)

    Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn)

    本文主要介紹了Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    這篇文章主要介紹了django-多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python 多繼承中的一個(gè)詭異現(xiàn)象 既是 Father又是grandfather

    Python 多繼承中的一個(gè)詭異現(xiàn)象 既是 Father又是grandfather

    我們知道,在面向?qū)ο缶幊汤锩?,繼承是一個(gè)很重要的概念。子類可以使用父類的方法和屬性,接下來小編將用舉例的方式為大家講解Python 多繼承中的一個(gè)詭異現(xiàn)象 其即是爸爸又是爺爺?shù)钠孑猬F(xiàn)象,感興趣的小伙伴可以看下面文章具體了解
    2021-09-09
  • python3中TQDM庫安裝及使用詳解

    python3中TQDM庫安裝及使用詳解

    在本篇內(nèi)容里小編給大家整理了關(guān)于python3中TQDM庫安裝及使用的相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python中eval與int的區(qū)別淺析

    python中eval與int的區(qū)別淺析

    這篇文章主要給大家介紹了關(guān)于python中eval與int的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python提取視頻幀圖片實(shí)例代碼

    Python提取視頻幀圖片實(shí)例代碼

    大家好,本篇文章主要講的是Python提取視頻幀圖片實(shí)例代碼,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • pywinauto自動(dòng)化操作記事本

    pywinauto自動(dòng)化操作記事本

    這篇文章主要為大家詳細(xì)介紹了pywinauto自動(dòng)化操作記事本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評(píng)論