最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python numpy中setdiff1d的用法說明

 更新時間:2021年04月22日 11:07:48   作者:悲戀花丶無心之人  
這篇文章主要介紹了python numpy中setdiff1d的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、函數(shù)解釋

setdiff1d(ar1, ar2, assume_unique=False)

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

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

3.參數(shù):

ar1:array_like 輸入數(shù)組。

ar2:array_like 輸入比較數(shù)組。

assume_unique:bool。如果為True,則假定輸入數(shù)組是唯一的,即可以加快計算速度。 默認值為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確實提升了運算速度。

三、整體代碼

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()
 

補充:Python編程之numpy庫函數(shù)in1d的使用

最近利用Python作數(shù)值分析時使用到numpy庫下的in1d函數(shù)。in1d函數(shù)與excel中vlookup函數(shù)和MATLAB中ismember函數(shù)有相似之處。其作用在于在序列B中尋找與序列A相同的值,并返回一邏輯值(True,False)或邏輯值構(gòu)成的向量。

具體例子見下文

設(shè)mask為邏輯值向量,矩陣x的第一列為待查找向量,d為被查詢向量(或值),即查找x中與d中指定元素相同的值,并返回邏輯值向量mask。mask是由一系列True和False值構(gòu)成,True代表找到相同的值,而False代表沒找到相同的值。演示如下:

mask= np.in1d(x.values[:,1],d[1],invert=False) ##x為DataFrame型數(shù)據(jù),x.values[:,1]表示取第二列值
x_temp=x[mask]

示取第二列值

x_temp=x[mask]  

該例旨在查找 x 的第二列值中與d向量中第二個元素相同的部分 ,并返回mask邏輯向量;然后x_temp返回x中mask邏輯值為True的行。

mask向量的類型為bool,查看具體值下圖所示:

值得注意的地方在于in1d函數(shù)中invert參數(shù)的設(shè)置。當(dāng)invert=True時,mask中的元素值為True的部分對x.values[:,1]中與當(dāng)前查找的元素d[i]不同的部分(i為當(dāng)前查找位置),相同的部分則為false;當(dāng)invert=False時,mask中的元素值為True的部分對x.values[:,1]中與當(dāng)前查找的元素d[i]相同的部分(i為當(dāng)前查找位置)。

演示見下圖:

當(dāng)mask= np.in1d(x.values[:,1],d[2],invert=True)

當(dāng)mask= np.in1d(x.values[:,1],d[2],invert=False)時

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • python之gunicorn配置詳解

    python之gunicorn配置詳解

    這篇文章主要介紹了python之gunicorn配置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • PyCharm中關(guān)于安裝第三方包的三個建議

    PyCharm中關(guān)于安裝第三方包的三個建議

    這篇文章主要介紹了PyCharm中關(guān)于安裝第三方包的三個建議,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python函數(shù)式編程中itertools模塊詳解

    Python函數(shù)式編程中itertools模塊詳解

    這篇文章主要介紹了在Python中使用itertools模塊中的組合函數(shù)的教程,來自IBM官方技術(shù)文檔,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • Python中的條件判斷語句基礎(chǔ)學(xué)習(xí)教程

    Python中的條件判斷語句基礎(chǔ)學(xué)習(xí)教程

    這篇文章主要介紹了Python中的條件判斷語句基礎(chǔ)學(xué)習(xí)教程,文中使用的是Python2.x版本但條件語句部分的使用規(guī)則未在3.x中改變,需要的朋友可以參考下
    2016-02-02
  • Python監(jiān)聽剪切板實現(xiàn)方法代碼實例

    Python監(jiān)聽剪切板實現(xiàn)方法代碼實例

    這篇文章主要介紹了Python監(jiān)聽剪切板實現(xiàn)方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 解決Keras使用GPU資源耗盡的問題

    解決Keras使用GPU資源耗盡的問題

    這篇文章主要介紹了解決Keras使用GPU資源耗盡的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊)

    Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊)

    這篇文章主要介紹了Python實現(xiàn)網(wǎng)絡(luò)聊天室的示例代碼(支持多人聊天與私聊),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python讀取txt某幾列繪圖的方法

    Python讀取txt某幾列繪圖的方法

    今天小編就為大家分享一篇Python讀取txt某幾列繪圖的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python 怎樣進行內(nèi)存管理

    python 怎樣進行內(nèi)存管理

    這篇文章主要介紹了python 是如何進行內(nèi)存管理的,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • Perl中著名的Schwartzian轉(zhuǎn)換問題解決實現(xiàn)

    Perl中著名的Schwartzian轉(zhuǎn)換問題解決實現(xiàn)

    這篇文章主要介紹了Perl中著名的Schwartzian轉(zhuǎn)換問題解決實現(xiàn),本文詳解講解了Schwartzian轉(zhuǎn)換涉及的排序問題,并同時給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-06-06

最新評論

焉耆| 浦城县| 光泽县| 永德县| 金乡县| 兰考县| 永修县| 湖州市| 五寨县| 基隆市| 蒲城县| 康马县| 新宁县| 永顺县| 峡江县| 武冈市| 广东省| 太康县| 夏津县| 南投县| 延安市| 峡江县| 镇沅| 广南县| 佳木斯市| 抚松县| 襄汾县| 伊吾县| 闵行区| 施秉县| 瓦房店市| 周至县| 衢州市| 万山特区| 虞城县| 靖远县| 济宁市| 金昌市| 洪洞县| 丰城市| 黄石市|