亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

numpy多級排序lexsort函數(shù)的使用

 更新時間:2023年03月27日 15:03:20   作者:地球被支點撬走啦  
本文主要介紹了numpy多級排序lexsort函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1、lexsort() 排的是個啥

 lexsort() 函數(shù)的定義如下:

def lexsort(keys, axis=None)

lexsort是一種多級排序方法。作用為對給定的 keys 中的最后一個 key 排序,每一個 key 都被認(rèn)為是列向量,其他 keys 用來輔助最后一個 key 進行排序。最后返回最后一個 key 進行排序的索引。

哈哈哈是不是沒看懂上面的解釋?莫慌莫慌,我給舉個簡單的例子保證秒懂,可以回想這樣一個場景:

對一堆學(xué)生的成績進行排名,則排名結(jié)果就是按照總成績從低到高排序,這個還沒排序的總成績表就是上述說的最后一個 key ,排序后的索引就是上述的返回值。

比如初始總成績數(shù)組為:[99, 100, 98, 95, 80]  ,這就是 最后一個 key,升序排序后的數(shù)組為:[80, 95, 98, 99, 100],對應(yīng)的索引為:[4, 3, 2, 0, 1],這個索引數(shù)組就是 lexsort 函數(shù)的返回值。

但是如果兩個人的總成績一樣怎么進一步排序呢?這時可以按照語文成績的升序進行排序,如果語文成績還一樣呢?那再看數(shù)學(xué)成績,如果數(shù)學(xué)還一樣呢?再查英語成績,如果還。。。(沒了沒了,再相同我就要懷疑這倆人作弊了?。┻@里的 語文成績、數(shù)學(xué)成績、英語成績 就是最后一個 key 前面的 keys,記得是從后往前數(shù)的。也就是最后一個 key 相同,就看倒數(shù)第二個 key,倒數(shù)第二個相同就看倒數(shù)第三個 key。

2、舉個例子

默認(rèn)你已經(jīng)理解了,那就舉一個例子來過一遍:

import numpy as np
a = [[3, 3, 8],
     [6, 9, 7],
     [3, 3, 2]]
b = np.array(a)  # 轉(zhuǎn)換為 numpy 數(shù)組
"""
index = np.lexsort((b[:, 2], b[:, 1], b[:, 0])) 的運行情況:
step-1、首先按照第一列 b[:, 0] 的數(shù)值 [3, 6, 3] 升序順序?qū)γ啃械奈恢眠M行重排, 第一行有兩個值相同, 轉(zhuǎn)到step-2
            [[3, 3, 8],        [[3, 3, 8],
             [6, 9, 7],   -->   [3, 3, 2],   
             [3, 3, 2]]         [6, 9, 7]]
step-2、第一列數(shù)值相同的情況下按照相應(yīng)位置第二列 b[:, 1] 的值繼續(xù)排序, 第二列對應(yīng)位置任然相同, 轉(zhuǎn)到step-3
            [[3, 3, 8],        [[3, 3, 8],
             [6, 9, 7],   -->   [3, 3, 2],   
             [3, 3, 2]]         [6, 9, 7]]
step-3、第二列數(shù)值相同的情況下按照相應(yīng)位置第三列 b[:, 2] 的值繼續(xù)排序
            [[3, 3, 8],        [[3, 3, 2],
             [6, 9, 7],   -->   [3, 3, 8],   
             [3, 3, 2]]         [6, 9, 7]]
總結(jié): 第一列的排序結(jié)果為[3, 3, 6] 對應(yīng)的索引值為 [2, 0, 1]
"""
index = np.lexsort((b[:, 2], b[:, 1], b[:, 0]))
print(index)  # 輸出結(jié)果: [2 0 1]
ans = b[index] # 按照排序結(jié)果重置數(shù)組元素的位置
print(ans)
# ans 的結(jié)果:
[[3 3 2]
 [3 3 8]
 [6 9 7]]

如果直接對矩陣進行排序呢?

"""
相當(dāng)于拆解為
key1 = b[0,:]
key2 = b[1,:]
key3 = b[2,:]  # 最后一行為主排序序列
index = np.lexsort(b) 等效為: index = np.lexsort((b[0,:], b[1,:], b[2,:]))
"""
index = np.lexsort(b) 
print(index)  # 輸出結(jié)果: [2 0 1]

即,當(dāng)輸入是一個矩陣時,默認(rèn)排序最后一行的數(shù)據(jù),前面的行都是輔助行。

到此這篇關(guān)于numpy多級排序lexsort函數(shù)的使用的文章就介紹到這了,更多相關(guān)numpy lexsort函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用pycharm生成代碼模板的實例

    使用pycharm生成代碼模板的實例

    今天小編就為大家分享一篇使用pycharm生成代碼模板的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python?異步之如何啟動獲取事件循環(huán)

    Python?異步之如何啟動獲取事件循環(huán)

    這篇文章主要為大家介紹了Python?異步之如何啟動獲取事件循環(huán)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 如何使用Python?VTK高亮顯示actor

    如何使用Python?VTK高亮顯示actor

    這篇文章主要介紹了如何使用Python?VTK高亮顯示actor,通過Python-VTK在同一個窗口中,高亮顯示選中的actor。本例子中的代碼,當(dāng)窗口中的圓球actor被選中時,會變成紅色,并且會顯示actor三遍面片邊緣信息,下文相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • 用python畫圣誕樹三種代碼示例介紹

    用python畫圣誕樹三種代碼示例介紹

    大家好,本篇文章主要講的是用python畫圣誕樹三種代碼示例介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境

    Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境

    這篇文章主要介紹了Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境,需要的朋友可以參考下
    2018-11-11
  • 使用python 3實現(xiàn)發(fā)送郵件功能

    使用python 3實現(xiàn)發(fā)送郵件功能

    本文通過實例代碼給大家介紹了使用python 3實現(xiàn)發(fā)送郵件功能,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • Python數(shù)據(jù)清洗&預(yù)處理入門教程

    Python數(shù)據(jù)清洗&預(yù)處理入門教程

    凡事預(yù)則立,不預(yù)則廢,訓(xùn)練機器學(xué)習(xí)模型也是如此。數(shù)據(jù)清洗和預(yù)處理是模型訓(xùn)練之前的必要過程,否則模型可能就廢了。本文是一個初學(xué)者指南,將帶你領(lǐng)略如何在任意的數(shù)據(jù)集上,針對任意一個機器學(xué)習(xí)模型,完成數(shù)據(jù)預(yù)處理工作
    2022-10-10
  • Python利用字典樹實現(xiàn)獵詞游戲

    Python利用字典樹實現(xiàn)獵詞游戲

    獵詞(word hunt)是一類很常見的游戲,給你一張字母組成的表,然后讓你在這些字母中盡可能多的去尋找單詞。這類游戲用字典樹就能輕松完成,本文就來具體講講實現(xiàn)步驟,需要的可以參考一下
    2022-06-06
  • Python導(dǎo)入引用其他文件的函數(shù)實戰(zhàn)案例(推薦!)

    Python導(dǎo)入引用其他文件的函數(shù)實戰(zhàn)案例(推薦!)

    這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入引用其他文件的函數(shù)的相關(guān)資料,文中通過代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Python編程實現(xiàn)控制cmd命令行顯示顏色的方法示例

    Python編程實現(xiàn)控制cmd命令行顯示顏色的方法示例

    這篇文章主要介紹了Python編程實現(xiàn)控制cmd命令行顯示顏色的方法,結(jié)合實例形式分析了Python針對命令行字符串顯示顏色屬性相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08

最新評論