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

Python中的np.setdiff1d()函數(shù)詳解

 更新時(shí)間:2024年06月18日 15:17:04   作者:對許  
Python中的np.setdiff1d()函數(shù)可用于找出兩個(gè)序列集合中元素的差異,下面通過示例代碼給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧

Python中的np.setdiff1d()函數(shù)可用于找出兩個(gè)序列集合中元素的差異

API及參數(shù)如下:

np.setdiff1d(ar1,ar2,assume_unique):找出序列1在序列2中的差異,并返回序列1中不在序列2中的元素

  • ar1:輸入數(shù)組
  • ar2:輸入比較數(shù)組
  • assume_unique:是否假設(shè)唯一,默認(rèn)為False,輸出去重且元素從小到大排序,如果為True,則不會去重,輸出順序保持原來的順序

以下是一個(gè)使用示例:

import numpy as np
a = np.array([3, 2, 2, 1])
b = np.array([5, 4, 3, 3])
# a = [3, 2, 2, 1]
# b = [5, 4, 3, 3]
c = np.setdiff1d(a, b)
print(c)    # [1 2]
c = np.setdiff1d(a, b, assume_unique=True)
print(c)    # [2 2 1]

補(bǔ)充:python numpy中setdiff1d的用法

一、函數(shù)解釋

setdiff1d(ar1, ar2, assume_unique=False)

1.功能:找到2個(gè)數(shù)組中集合元素的差異。

2.返回值:在ar1中但不在ar2中的已排序的唯一值。

3.參數(shù):

  • ar1:array_like 輸入數(shù)組。
  • ar2:array_like 輸入比較數(shù)組。
  • assume_unique:bool。如果為True,則假定輸入數(shù)組是唯一的,即可以加快計(jì)算速度。 默認(rèn)值為False。

二、具體示例

1.assume_unique = False的情況: 

    a = np.array([1,2,3])
    b = np.array([4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2 3]
    a = np.array([1,2,3])
    b = np.array([1,2,3])
    c = np.setdiff1d(a, b)
    print(c)#[]
    a = np.array([1,2,3])
    b = np.array([2,3,4])
    c = np.setdiff1d(a, b)
    print(c)#[1]
    a = np.array([1,2,3,4])
    b = np.array([3,4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2]
    a = np.array([1,2,3,2,4,1])
    b = np.array([3,4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2]
    a = np.array([8,2,3,2,4,1])
    b = np.array([7,4,5,6,3])
    c = np.setdiff1d(a, b)
    print(c)#[1 2 8]

可以從最后看出返回的值從小到大排序,并且唯一。(8在a的第1位,2在a中重復(fù)了2次

2.assume_unique = True的情況: ???????

    a = np.array([3,2,1])
    b = np.array([4,5,6])
    c = np.setdiff1d(a, b,True)
    print(c)#[3 2 1]
    a = np.array([8,2,3,2,4,1])
    b = np.array([7,4,5,6,3])
    c = np.setdiff1d(a, b,True)
    print(c)#[8 2 2 1]
    a = np.array([8,2,3,4,2,4,1])
    b = np.array([7,9,5,6,3])
    c = np.setdiff1d(a, b,True)
    print(c)#[8 2 4 2 4 1]

可以看出把在a中的但是不在b中的元素按a中的順序排序,并且不合并重復(fù)的元素,即假定輸入數(shù)組也是唯一的,因此相比于False確實(shí)提升了運(yùn)算速度。

三、整體代碼

import numpy as np
def main():
    a = np.array([1,2,3])
    b = np.array([4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2 3]
    a = np.array([1,2,3])
    b = np.array([1,2,3])
    c = np.setdiff1d(a, b)
    print(c)#[]
    a = np.array([1,2,3])
    b = np.array([2,3,4])
    c = np.setdiff1d(a, b)
    print(c)#[1]
    a = np.array([1,2,3,4])
    b = np.array([3,4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2]
    a = np.array([1,2,3,2,4,1])
    b = np.array([3,4,5,6])
    c = np.setdiff1d(a, b)
    print(c)#[1 2]
    a = np.array([8,2,3,2,4,1])
    b = np.array([7,4,5,6,3])
    c = np.setdiff1d(a, b)
    print(c)#[1 2 8]
    a = np.array([3,2,1])
    b = np.array([4,5,6])
    c = np.setdiff1d(a, b,True)
    print(c)#[3 2 1]
    a = np.array([8,2,3,2,4,1])
    b = np.array([7,4,5,6,3])
    c = np.setdiff1d(a, b,True)
    print(c)#[8 2 2 1]
    a = np.array([8,2,3,4,2,4,1])
    b = np.array([7,9,5,6,3])
    c = np.setdiff1d(a, b,True)
    print(c)#[8 2 4 2 4 1]
if __name__ == '__main__':
    main()
 

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

相關(guān)文章

  • python使用rsa加密算法模塊模擬新浪微博登錄

    python使用rsa加密算法模塊模擬新浪微博登錄

    這篇文章主要介紹了python使用rsa加密算法模塊模擬新浪微博登錄的示例,大家參考使用吧
    2014-01-01
  • python實(shí)現(xiàn)雙向鏈表原理

    python實(shí)現(xiàn)雙向鏈表原理

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)雙向鏈表原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python常見異常類型處理

    Python常見異常類型處理

    這篇文章主要個(gè)大家分享的是Python常見異常類型處理,編寫程序的過程,難免會遇到一些錯(cuò)誤,程序邏輯又或者運(yùn)行與系統(tǒng)發(fā)生各種沖突等等,下面我們就來看看那些我們在編程中常遇到的異常都是怎么處理的吧,需要的小伙伴可以參考一下
    2021-12-12
  • 利用Python pyecharts繪制餅圖

    利用Python pyecharts繪制餅圖

    這篇文章主要介紹了利用Python pyecharts繪制餅圖,餅圖主要用于表現(xiàn)不同類目的數(shù)據(jù)在總和中的占比。每個(gè)的弧度不是數(shù)據(jù)量的占比,下面我們一起進(jìn)入文章看看具體的實(shí)現(xiàn)過程吧,需要的朋友也可以參考一下
    2021-12-12
  • Python調(diào)試神器之PySnooper的使用教程分享

    Python調(diào)試神器之PySnooper的使用教程分享

    對于每個(gè)程序開發(fā)者來說,調(diào)試幾乎是必備技能。本文小編就來給大家介紹一款非常好用的調(diào)試工具,它能在一些場景下,大幅度提高調(diào)試的效率, 那就是 PySnooper,希望大家喜歡
    2023-02-02
  • Python操作Excel的學(xué)習(xí)筆記

    Python操作Excel的學(xué)習(xí)筆記

    這篇文章主要介紹了Python操作Excel的學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 解決python3爬蟲無法顯示中文的問題

    解決python3爬蟲無法顯示中文的問題

    下面小編就為大家分享一篇解決python3爬蟲無法顯示中文的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python實(shí)現(xiàn)線性搜索算法的示例代碼

    Python實(shí)現(xiàn)線性搜索算法的示例代碼

    線性搜索算法,也稱為順序搜索算法,是一種簡單但常用的搜索技術(shù),在本文中,將深入研究線性搜索算法,并演示如何在?Python?中實(shí)現(xiàn)它,需要的可以參考下
    2024-02-02
  • Python下的subprocess模塊的入門指引

    Python下的subprocess模塊的入門指引

    這篇文章主要介紹了Python下的subprocess模塊的入門指引,subprocess模塊被用于Python的多線程編程,需要的朋友可以參考下
    2015-04-04
  • Django用戶登錄與注冊系統(tǒng)的實(shí)現(xiàn)示例

    Django用戶登錄與注冊系統(tǒng)的實(shí)現(xiàn)示例

    這篇文章主要介紹了Django用戶登錄與注冊系統(tǒng)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評論