【Python】np.unique() 介紹與使用

簡述

numpy.unique:用于去除數組中重復元素,并從小到大排序(找到唯一元素并排序)。

def unique(ar, return_index=False, return_inverse=False,return_counts=False, axis=None):
ar: 這是輸入的數組或類數組對象。return_index: 如果設置為True,函數會同時返回唯一元素的索引數組,這些索引對應于原始數組中的位置。return_inverse: 如果設置為True,函數會返回一個數組,其中包含輸入數組中的元素在處理后的唯一數組中的索引。這可以用于重構原始數組。return_counts: 如果設置為True,函數將返回一個數組,其中包含輸入數組中每個唯一元素的出現次數。axis: 用于指定在哪個軸上執行操作。如果是None,則表示在整個數組上執行操作。

函數返回一個包含唯一元素的排序數組。根據參數的設置,它可能還返回與唯一元素相關聯的索引數組、原始數組元素在唯一數組中的索引數組,以及每個唯一元素的出現次數。

以下是一個簡單的例子:

import numpy as nparr = np.array([2, 1, 6, 6, 4, 8, 5, 5, 6,7])unique_values = np.unique(arr)
print("Unique values:", unique_values)# 返回唯一元素的索引數組
unique_indices = np.unique(arr, return_index=True)[1]
print("Indices of unique values:", unique_indices)# 返回輸入數組中的元素在唯一數組中的索引數組
inverse_indices = np.unique(arr, return_inverse=True)[1]
print("Inverse indices:", inverse_indices)# 返回每個唯一元素的出現次數
unique_counts = np.unique(arr, return_counts=True)[1]
print("Counts of unique values:", unique_counts)# 以上如果索引是[0],則返回的是處理過后的數組print("unique values:", np.unique(arr, return_index=True)[0])
print("unique values:", np.unique(arr, return_inverse=True)[0])
print("unique values:", np.unique(arr, return_counts=True)[0])

輸出
在這里插入圖片描述

最后參數axis的含義

在 numpy.unique 函數中,axis 參數用于指定在哪個軸上執行操作,但在默認情況下,該參數通常是 None,表示在整個數組上執行操作。在很多情況下,我們不需要設置 axis 參數,因為默認值已經能夠滿足大多數需求。
如果你的輸入數組是多維的,而且你想在特定軸上找到唯一元素,那么你可以指定 axis 參數。

arr_2d = np.array([[1, 2, 3,2],[4, 2, 6,5],[1, 2, 3,1],[1, 2, 3,1]])# 在軸 0 上找到唯一元素
unique_values_axis_0 = np.unique(arr_2d, axis=0,return_index=True)[1]
print("Unique values along axis 0:\n", unique_values_axis_0)# 在軸 1 上找到唯一元素
unique_values_axis_1 = np.unique(arr_2d, axis=1,return_index=True)[1]
print("Unique values along axis 1:\n", unique_values_axis_1)

輸出
在這里插入圖片描述
也就是如果選定axis=0,就是從第一個維度arr_2d[i] 中挑選其中最小值,并排序,最小值的排序方式是遍歷 arr_2d[i]的每個值,先排第一個數字,再排第二個數字,以此類推。

選定axis=1,就是在第一個維度的第一個向量找到第二維的排序方式,也就是按照arr_2d[0][i]排序,得到的索引,用于其他的維度 arr_2d[i]。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165032.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165032.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165032.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數字信號處理】傅里葉變換的離散性與周期性

傅里葉變換的離散性與周期性 2023年11月21日 #elecEngeneer 文章目錄 傅里葉變換的離散性與周期性1. 符號說明2. 具體分析3. 序列的序號表示的DFT下鏈 1. 符號說明 t : 連續時間(時域)變量 ω : 頻域變量,aka角頻率 g : 時域函數 G : 頻域函數 n : 時域采樣序列序號…

MAV3D:從文本描述中生成三維動態場景

Singer U, Sheynin S, Polyak A, et al. Text-to-4d dynamic scene generation[J]. arXiv preprint arXiv:2301.11280, 2023. MAV3D 是 Meta AI 研究者們提出的一種從文本描述生成三維動態場景的方法。從所提供的文本生成的動態視頻輸出可以從任何攝像機位置和角度查看&#xf…

Rust語言入門教程(一) - 簡介及Cargo使用

Rust編程入門 為什么學習Rust 我本人是一個DevOps工程師,并不是專職的開發人員,但需要了解各種各樣的語言的基本知識和特性,以便在不同的項目中幫助開發人員設計軟件架構,部署流程以及進行錯誤排查和調試。但是對任何新生的優秀…

springboot 外部化配置

背景:修改jar包中的配置比較麻煩 項目部署的時候放一個配置文件在jar包外 配置文件優先級: 1.jar包內的application.properties/yaml 2.jar包內的application-{profile}.properties/yaml 3.jar包外的application.properties/yaml 4.jar包外的application-{profile}.properties…

【算法】緩存淘汰算法

目錄 1.概述2.代碼實現2.1.FIFO2.2.LRU2.3.LFU2.4.Clock2.5.Random 3.應用 1.概述 緩存淘汰策略是指在緩存容量有限的情況下,當緩存空間不足時決定哪些緩存項應當被移除的策略。緩存淘汰策略的目標是盡可能地保持緩存命中率高,同時合理地利用有限的緩存…

(保姆級教程)Mysql中事務的概念,什么是事務,如何使用事務,以及事務的隔離級別,什么是臟讀、幻讀,代碼演示

繼續講解 Mysql 數據庫中最重要的一個概念:事務 文章目錄 事務1.1 什么是事務1.2 執行原理1.3 如何操作事務1.4 事務的特點(ACID原則)1.5 事務并發1.6 事務隔離級別1.6.1 事務并發問題操作演示1.6.2 臟讀演示1.6.3 不可重復讀演示1.6.4 幻讀演…

二叉樹的順序結構及實現

目錄 1 二叉樹的順序結構2. 堆的概念及結構3 .堆的實現(小堆) 1 二叉樹的順序結構 普通的二叉樹是不適合用數組來存儲的,因為可能會存在大量的空間浪費。而完全二叉樹更適合使用順序結構存儲。現實中我們通常把堆(一種二叉樹)使用順序結構的數組來存儲,…

【Pytorch】Visualization of Feature Maps(3)

學習參考來自: Image Style Transform–關于圖像風格遷移的介紹github:https://github.com/wmn7/ML_Practice/tree/master/2019_06_03 文章目錄 風格遷移 風格遷移 風格遷移出處: 《A Neural Algorithm of Artistic Style》(ar…

瀏覽器沒收到返回,后端也沒報錯,php的json_encode問題bug

今天網站遇到個問題,后端返回異常,但是瀏覽器狀態碼200,但是看不到結果。經過排查發現,我們在返回結果的時候使用了json_encode返回給前端,結果里面的字符編碼異常,導致json_encode異常,但是php…

前綴和——724. 尋找數組的中心下標

文章目錄 🍓1. 題目🫒2. 算法原理🦄解法一:暴力枚舉🦄解法二:前綴和 🥔3. 代碼實現 🍓1. 題目 題目鏈接:724. 尋找數組的中心下標 - 力扣(LeetCode&#xff0…

【限時免費】20天拿下華為OD筆試之【前綴和】2023B-數字游戲【歐弟算法】全網注釋最詳細分類最全的華為OD真題題解

文章目錄 題目描述與示例題目描述輸入描述輸出描述示例一輸入輸出 示例二輸入輸出說明 解題思路前綴和簡單的數學推導哈希集合的使用 代碼PythonJavaC時空復雜度 華為OD算法/大廠面試高頻題算法練習沖刺訓練 題目描述與示例 題目描述 小明玩一個游戲。 系統發1n張牌&#xff…

某60區塊鏈安全之未初始化的存儲指針實戰一學習記錄

區塊鏈安全 文章目錄 區塊鏈安全未初始化的存儲指針實戰一實驗目的實驗環境實驗工具實驗原理實驗過程 未初始化的存儲指針實戰一 實驗目的 學會使用python3的web3模塊 學會分析以太坊智能合約未初始化的存儲指針漏洞 找到合約漏洞進行分析并形成利用 實驗環境 Ubuntu18.04操…

深度學習之八(生成對抗網絡--Generative Adversarial Networks,GANs)

概念 生成對抗網絡(Generative Adversarial Networks, GANs)是一種深度學習模型,由 Ian Goodfellow 等人于2014年提出。GAN 的目標是通過訓練兩個神經網絡(生成器和判別器),使得生成器能夠生成與真實數據相似的樣本,而判別器能夠區分真實樣本和生成樣本。這兩個網絡相…

多元邏輯回歸模型的概念、模型檢驗以及應用

多元邏輯回歸是邏輯回歸的一種擴展,用于處理多類別分類問題。在二元邏輯回歸中,我們通過一個邏輯函數(也稱為S形函數)將輸入特征映射到一個概率值,用于預測兩個類別中一個的概率。而在多元邏輯回歸中,我們面…

沃趣班11月月考題目解析

沃趣班11月月考題目解析 1.在oracle中創建用戶時,若未設置default tablespace關鍵字,則oracle將哪個表空間分配給用戶作為默認表空間 答案:D.user SQL> create user mytest identified by 123456; SQL> grant connect to mytest; SQL…

【開源】基于Vue.js的海南旅游景點推薦系統的設計和實現

項目編號: S 023 ,文末獲取源碼。 \color{red}{項目編號:S023,文末獲取源碼。} 項目編號:S023,文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 用戶端2.2 管理員端 三、系統展示四…

CSS特效017:球體漲水的效果

CSS常用示例100專欄目錄 本專欄記錄的是經常使用的CSS示例與技巧,主要包含CSS布局,CSS特效,CSS花邊信息三部分內容。其中CSS布局主要是列出一些常用的CSS布局信息點,CSS特效主要是一些動畫示例,CSS花邊是描述了一些CSS…

前端錯誤處理與調試

** javascript錯誤處理 ** 由于javascript本身是動態語言,而且沒有固定的開發工具,因此他普遍認為是最難以調試的語言,在ECMAScript3新增了try-catch和throw以及一些錯誤類型,讓開發人員能適當的處理錯誤,緊接著web瀏…

多tab頁表單校驗如何做

多tab頁表單校驗如何做 在多tab頁表單中進行校驗,可以按照以下步驟進行: 創建一個表單對象,用于存儲表單數據和校驗規則。 分為多個tab頁,每個tab頁對應一個表單頁面。 定義每個tab頁中的表單字段及其相應的校驗規則。 在切換…

PHP 賦值、算數和比較運算符 學習資料

PHP 賦值、算數和比較運算符 在 PHP 中,賦值、算數和比較運算符用于對變量進行賦值、進行數學運算和比較操作。以下是對這些運算符的介紹和示例: 賦值運算符 賦值運算符用于給變量賦值。常用的賦值運算符有 、、-、*、/ 等。 示例: $a …