国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

numpy使用技巧之數組過濾實例代碼

2020-02-22 23:06:45
字體:
來源:轉載
供稿:網友

本文研究的主要是numpy使用技巧之數組過濾的相關內容,具體如下。

當使用布爾數組b作為下標存取數組x中的元素時,將收集數組x中所有在數組b中對應下標為True的元素。使用布爾數組作為下標獲得的數組不和原始數組共享數據空間,注意這種方式只對應于布爾數組(array),不能使用布爾列表(list)。

>>> x = np.arange(5,0,-1)>>> xarray([5, 4, 3, 2, 1])>>> x[np.array([True, False, True, False, False])]>>> # 下標為True的取出來,布爾數組中下標為0,2的元素為True,因此獲取x中下標為0,2的元素array([5, 3])>>> x[[True, False, True, False, False]]#Error,這不是我們想要的結果>>> # 如果是布爾列表,則把True當作1, False當作0,按照整數序列方式獲取x中的元素array([4, 5, 4, 5, 5])>>> x[np.array([True, False, True, True])]>>> # 布爾數組的長度不夠時,不夠的部分都當作Falsearray([5, 3, 2])>>> x[np.array([True, False, True, True])] = -1, -2, -3#只修改下標為True的元素>>> # 布爾數組下標也可以用來修改元素>>> xarray([-1, 4, -2, -3, 1])

注意:布爾數組一般不是手工產生的,通常我們使用一條布爾表達式來得到,如:

>>> x = np.random.rand(10) # 產生一個長度為10,元素值為0-1的隨機數的數組>>> xarray([ 0.72223939, 0.921226 , 0.7770805 , 0.2055047 , 0.17567449,    0.95799412, 0.12015178, 0.7627083 , 0.43260184, 0.91379859])>>> x>0.5>>> # 數組x中的每個元素和0.5進行大小比較,得到一個布爾數組,True表示x中對應的值大于0.5array([ True, True, True, False, False, True, False, True, False, True], dtype=bool)>>> x[x>0.5]# x>0.5是一個布爾數組>>> # 使用x>0.5返回的布爾數組收集x中的元素,因此得到的結果是x中所有大于0.5的元素的數組array([ 0.72223939, 0.921226 , 0.7770805 , 0.95799412, 0.7627083 ,    0.91379859])

總結

以上就是本文關于numpy使用技巧之數組過濾實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 朝阳市| 墨江| 会理县| 澳门| 银川市| 桂东县| 阜新| 巍山| 璧山县| 连平县| 竹山县| 天长市| 灵武市| 诸城市| 竹溪县| 铜川市| 大邑县| 合作市| 宁波市| 阜南县| 吴川市| 蒲江县| 内江市| 两当县| 罗定市| 崇州市| 明水县| 大洼县| 紫阳县| 洛扎县| 崇明县| 陇南市| 龙南县| 延庆县| 宁陵县| 陆川县| 阳江市| 泗洪县| 梅河口市| 安陆市| 宜丰县|