對numpy中的數(shù)組條件篩選功能詳解
在程序設(shè)計中,時常會遇到數(shù)據(jù)的唯一化、相同、相異信息的提取等工作,在格式化的向量存儲矩陣中南,numpy能夠提供比較不錯的快速處理功能。
1,唯一化的實現(xiàn):
In [63]: data = np.array(['int','float','int','boolean','double','boolean']) In [64]: data Out[64]: array(['int', 'float', 'int', 'boolean', 'double', 'boolean'], dtype='|S7') In [65]: np.unique(data) Out[65]: array(['boolean', 'double', 'float', 'int'], dtype='|S7') In [66]: data = np.array([1,5,3,6,2,4,1,3,5,7,9]) In [67]: data Out[67]: array([1, 5, 3, 6, 2, 4, 1, 3, 5, 7, 9]) In [68]: np.unique(data) Out[68]: array([1, 2, 3, 4, 5, 6, 7, 9])
通過unique可以實現(xiàn)數(shù)組的唯一化,并且,唯一化后的返回值會進行排序。
2,交集的實現(xiàn)
In [69]: data1 = np.arange(10) In [70]: data1 Out[70]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [71]: data2 = np.array([2,8,6,4]) In [72]: np.intersect1d(data1,data2) Out[72]: array([2, 4, 6, 8])
使用intersect1d可以實現(xiàn)求取兩個數(shù)組集合的交集。
2,并集計算
In [73]: np.union1d(data1,data2) Out[73]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
union1d可以實現(xiàn)對兩個數(shù)組集合的并集計算。
3,子集判斷
In [74]: np.in1d(data1,data2) Out[74]: array([False, False, True, False, True, False, True, False, True, False], dtype=bool) In [75]: np.in1d(data2,data1) Out[75]: array([ True, True, True, True], dtype=bool)
通過in1d可以實現(xiàn)對第一個參數(shù)數(shù)組中的每個元素是否是第二個參數(shù)數(shù)組子集的判斷,而最終通過判斷返回的布爾數(shù)組即可判斷兩個參數(shù)數(shù)組的子集關(guān)系。
4,差異判斷
4.1,集合差判斷
In [76]: np.setdiff1d(data1,data2) Out[76]: array([0, 1, 3, 5, 7, 9]) In [77]: np.setdiff1d(data2,data1) Out[77]: array([], dtype=int32)
setdiff1d可以求解出存在于第一個集合但是并不存在于第二個集合中的元素。返回值是一個數(shù)組集合。
4.1 數(shù)組“異或”求解
In [78]: np.setxor1d(data1,data2) Out[78]: array([0, 1, 3, 5, 7, 9]) In [79]: np.setxor1d(data2,data1) Out[79]: array([0, 1, 3, 5, 7, 9])
setxor1d用于求解不同時存在于兩個數(shù)組中的元素,并返回一個數(shù)組集合。兩個參數(shù)的順序變化不會改變求解的結(jié)果。返回的結(jié)果是是一個有序的數(shù)組序列。
上面的幾個基本的邏輯判斷功能如果能夠使用得當(dāng),能夠?qū)崿F(xiàn)多種篩選判斷的操作。
這篇對numpy中的數(shù)組條件篩選功能詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)多層感知機簡潔實現(xiàn)
這篇文章主要為大家講解了Python深層學(xué)習(xí)中pytorch神經(jīng)網(wǎng)絡(luò)多層感知機的簡潔實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10解決Python設(shè)置函數(shù)調(diào)用超時,進程卡住的問題
今天小編就為大家分享一篇解決Python設(shè)置函數(shù)調(diào)用超時,進程卡住的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08python實現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
這篇文章主要為大家介紹了python實現(xiàn)MySQL?數(shù)據(jù)庫表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11python公司內(nèi)項目對接釘釘審批流程的實現(xiàn)
最近把組內(nèi)的一個項目對接釘釘審批接口,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Python實現(xiàn)根據(jù)日期獲取當(dāng)天凌晨時間戳的方法示例
這篇文章主要介紹了Python實現(xiàn)根據(jù)日期獲取當(dāng)天凌晨時間戳的方法,涉及Python針對日期與時間戳的相關(guān)轉(zhuǎn)換、運算等操作技巧,需要的朋友可以參考下2019-04-04