婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python numpy中setdiff1d的用法說明

python numpy中setdiff1d的用法說明

熱門標簽:地圖標注的意義點 房產電銷外呼系統 浙江電銷卡外呼系統好用嗎 地圖制圖標注位置改變是移位嗎 蓋州市地圖標注 315電話機器人廣告 上海機器人外呼系統哪家好 南京銷售外呼系統軟件 地圖標注微信發送位置不顯示

一、函數解釋

setdiff1d(ar1, ar2, assume_unique=False)

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

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

3.參數:

ar1:array_like 輸入數組。

ar2:array_like 輸入比較數組。

assume_unique:bool。如果為True,則假定輸入數組是唯一的,即可以加快計算速度。 默認值為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中重復了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中的順序排序,并且不合并重復的元素,即假定輸入數組也是唯一的,因此相比于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庫函數in1d的使用

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

具體例子見下文

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

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

示取第二列值

x_temp=x[mask]  

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

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

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

演示見下圖:

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

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

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

您可能感興趣的文章:
  • Python 機器學習庫 NumPy入門教程
  • Python基礎之Numpy的基本用法詳解
  • Python基礎之numpy庫的使用
  • Python利用numpy實現三層神經網絡的示例代碼
  • Python數據清洗工具之Numpy的基本操作
  • Python Numpy之linspace用法說明
  • python 將numpy維度不同的數組相加相乘操作
  • python numpy.power()數組元素求n次方案例
  • python中numpy.empty()函數實例講解
  • python中numpy數組與list相互轉換實例方法
  • Python OpenCV中的numpy與圖像類型轉換操作
  • Python機器學習三大件之一numpy

標簽:陽泉 貴州 赤峰 臨汾 雙鴨山 日照 金華 克拉瑪依

巨人網絡通訊聲明:本文標題《python numpy中setdiff1d的用法說明》,本文關鍵詞  python,numpy,中,setdiff1d,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python numpy中setdiff1d的用法說明》相關的同類信息!
  • 本頁收集關于python numpy中setdiff1d的用法說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 安龙县| 兖州市| 房产| 临潭县| 绿春县| 南京市| 灌南县| 甘泉县| 丰宁| 永寿县| 芜湖县| 澎湖县| 南华县| 鄂托克前旗| 蓝山县| 文水县| 错那县| 贵德县| 广东省| 临西县| 仙游县| 利辛县| 巴塘县| 巫山县| 平果县| 隆安县| 兰州市| 望谟县| 北宁市| 当涂县| 志丹县| 大同县| 资兴市| 遵化市| 双辽市| 临清市| 长寿区| 北辰区| 内黄县| 灵川县| 广水市|