在程序設(shè)計(jì)中,時(shí)常會(huì)遇到數(shù)據(jù)的唯一化、相同、相異信息的提取等工作,在格式化的向量存儲(chǔ)矩陣中南,numpy能夠提供比較不錯(cuò)的快速處理功能。
1,唯一化的實(shí)現(xiàn):
In [63]: data = np.array(['int','float','int','boolean','double','boolean'])In [64]: dataOut[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]: dataOut[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])
通過(guò)unique可以實(shí)現(xiàn)數(shù)組的唯一化,并且,唯一化后的返回值會(huì)進(jìn)行排序。
2,交集的實(shí)現(xiàn)
In [69]: data1 = np.arange(10)In [70]: data1Out[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可以實(shí)現(xiàn)求取兩個(gè)數(shù)組集合的交集。
2,并集計(jì)算
In [73]: np.union1d(data1,data2)Out[73]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
union1d可以實(shí)現(xiàn)對(duì)兩個(gè)數(shù)組集合的并集計(jì)算。
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)
通過(guò)in1d可以實(shí)現(xiàn)對(duì)第一個(gè)參數(shù)數(shù)組中的每個(gè)元素是否是第二個(gè)參數(shù)數(shù)組子集的判斷,而最終通過(guò)判斷返回的布爾數(shù)組即可判斷兩個(gè)參數(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可以求解出存在于第一個(gè)集合但是并不存在于第二個(gè)集合中的元素。返回值是一個(gè)數(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í)存在于兩個(gè)數(shù)組中的元素,并返回一個(gè)數(shù)組集合。兩個(gè)參數(shù)的順序變化不會(huì)改變求解的結(jié)果。返回的結(jié)果是是一個(gè)有序的數(shù)組序列。
上面的幾個(gè)基本的邏輯判斷功能如果能夠使用得當(dāng),能夠?qū)崿F(xiàn)多種篩選判斷的操作。
這篇對(duì)numpy中的數(shù)組條件篩選功能詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選