91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從numpy數組中取出滿足條件的元素示例

發布時間:2020-10-09 20:26:40 來源:腳本之家 閱讀:255 作者:西門天偌 欄目:開發技術

例如問題:從 arr 數組中提取所有奇數元素。

input:arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

output: #> array([1, 3, 5, 7, 9])

Solution:

#Input
 
>>> arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 
#Solution
 
arr = arr[arr % 2 == 1]
 
>>> array([1, 3, 5, 7, 9])

這是對奇數元素的提取,其他條件同理,在這個問題上我們深入再學習一下,首先 numpy 中的 array 數組是可以直接對數組中的每個元素進行處理的。例如我們想對每個元素減一:

#input
 
>>> arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 
#Solution
 
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> arr - 1
array([-1, 0, 1, 2, 3, 4, 5, 6, 7, 8])

從上面的例子我們可以看出來,對 arr 直接進行減一操作,結果是對每一個元素都進行了減一的操作,數組的維度不變,為了滿足取出特定條件的元素這個操作,我們可以進行條件判斷,例如判斷每個元素是否為奇數:

#input
 
>>> arr = np.arange(10)
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
#solution
 
>>> arr % 2 == 1
array([False, True, False, True, False, True, False, True, False, True])

由此可見,條件判斷后輸出為和 arr 相同維度的數組,但是其中每個元素為布爾類型的值,取值為數組 arr 對每個元素分別進行條件判斷的結果。

下面我們分析對 arr 數組進行特定取值,給其一個布爾類型的 arr 數組,并且維度與 arr 相同,以此得到取值的目的:

#input
 
>>> arr_bool = np.array([1, 1, 0, 0, 1, 1, 0, 0, 1, 1], dtype=bool)
>>> arr_bool
array([ True, True, False, False, True, True, False, False, True, True])
 
#solution
>>> arr[arr_bool]
array([0, 1, 4, 5, 8, 9])

從上述例子,我們構建了一個布爾類型的數組為 arr_bool ,并且維度與 arr 相同,進行直接嵌入實現了取值,以此完成了我們最終的目的,可以對任意滿足條件的元素進行提取。并且理解了其中的原理。

PS:番外篇,如果維度不同可以嗎?

#input
 
>>> arr_bool = np.ones(11, dtype=bool)
>>> arr_bool
array([ True, True, True, True, True, True, True, True, True, True, True])   #注意!!這里有11個 True 哦。
 
#solution
>>> arr[arr_bool]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: boolean index did not match indexed array along dimension 0; dimension is 10 but corresponding boolean dimension is 11

由上可見,維度必須保持一致,從 arr 數組里才可以按照 bool 類型取出對應位置為 True 的元素。這個性質幫助我們可以更靈活的處理 numpy 數組。

PS2: 如何替換滿足條件的元素為其它值呢?

>>> arr = np.arange(10)
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> arr[arr%2 == 1] = -1
>>> arr
array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])

以上這篇從numpy數組中取出滿足條件的元素示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潞城市| 沈丘县| 金堂县| 长武县| 迁安市| 澎湖县| 四会市| 永嘉县| 西吉县| 兴宁市| 碌曲县| 怀集县| 花莲县| 绥芬河市| 昌吉市| 望江县| 堆龙德庆县| 翁牛特旗| 临朐县| 大名县| 宜兰市| 泽州县| 互助| 唐河县| 惠州市| 涪陵区| 丘北县| 桂林市| 金湖县| 鄂伦春自治旗| 三明市| 安义县| 五峰| 婺源县| 巴彦县| 通江县| 宁都县| 江城| 漳州市| 松潘县| 临夏县|