电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python numpy中setdiff1d的用法說(shuō)明

瀏覽:58日期:2022-06-21 16:22:59
一、函數(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()

python numpy中setdiff1d的用法說(shuō)明

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

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

具體例子見(jiàn)下文

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

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向量中第二個(gè)元素相同的部分 ,并返回mask邏輯向量;然后x_temp返回x中mask邏輯值為True的行。

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

python numpy中setdiff1d的用法說(shuō)明

python numpy中setdiff1d的用法說(shuō)明

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

演示見(jiàn)下圖:

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

python numpy中setdiff1d的用法說(shuō)明

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

python numpy中setdiff1d的用法說(shuō)明

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 密封无忧网 _ 专业的密封产品行业信息网 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 安徽成考网-安徽成人高考网 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 面粉仓_储酒罐_不锈钢储酒罐厂家-泰安鑫佳机械制造有限公司 | 骁龙云呼电销防封号系统-axb电销平台-外呼稳定『免费试用』 | 生物风-销售载体,基因,质粒,ATCC细胞,ATCC菌株等,欢迎购买-百风生物 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 番茄畅听邀请码怎么输入 - Dianw8.com | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 儿童语言障碍训练-武汉优佳加感统文化发展有限公司 | 耐破强度测试仪-纸箱破裂强度试验机-济南三泉中石单品站 |