Python的NumPy使用之數組過濾
數組過濾
從現(xiàn)有數組中取出一些元素并從中創(chuàng)建新數組稱為過濾(filtering)。
在 NumPy 中,我們使用布爾索引列表來過濾數組。
布爾索引列表是與數組中的索引相對應的布爾值列表。
如果索引處的值為 True,則該元素包含在過濾后的數組中;如果索引處的值為 False,則該元素將從過濾后的數組中排除。
實例
用索引 0 和 2、4 上的元素創(chuàng)建一個數組:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
運行實例

上例將返回 [61, 63, 65],為什么?
因為新過濾器僅包含過濾器數組有值 True 的值,所以在這種情況下,索引為 0 和 2、4。
創(chuàng)建過濾器數組
在上例中,我們對 True 和 False 值進行了硬編碼,但通常的用途是根據條件創(chuàng)建過濾器數組。
實例
創(chuàng)建一個僅返回大于 62 的值的過濾器數組:
import numpy as np
arr = np.array([61, 62, 63, 64, 65])
# 創(chuàng)建一個空列表
filter_arr = []
# 遍歷 arr 中的每個元素
for element in arr:
# 如果元素大于 62,則將值設置為 True,否則為 False:
if element > 62:
filter_arr.append(True)
else:
filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)運行實例

實例
創(chuàng)建一個過濾器數組,該數組僅返回原始數組中的偶數元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# 創(chuàng)建一個空列表
filter_arr = []
# 遍歷 arr 中的每個元素
for element in arr:
# 如果元素可以被 2 整除,則將值設置為 True,否則設置為 False
if element % 2 == 0:
filter_arr.append(True)
else:
filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)運行實例

直接從數組創(chuàng)建過濾器
上例是 NumPy 中非常常見的任務,NumPy 提供了解決該問題的好方法。
我們可以在條件中直接替換數組而不是 iterable 變量,它會如我們期望地那樣工作。
實例
創(chuàng)建一個僅返回大于 62 的值的過濾器數組:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
運行實例

實例
創(chuàng)建一個過濾器數組,該數組僅返回原始數組中的偶數元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
運行實例

到此這篇關于Python的NumPy使用之數組過濾的文章就介紹到這了,更多相關NumPy數組過濾內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解用Python實現(xiàn)自動化監(jiān)控遠程服務器
這篇文章主要介紹了用Python實現(xiàn)自動化監(jiān)控遠程服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05
使用selenium和pyquery爬取京東商品列表過程解析
這篇文章主要介紹了使用selenium和pyquery爬取京東商品列表過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
windows下python使用ffmpeg實現(xiàn)rtsp推流
這篇文章主要為大家詳細介紹了在windows環(huán)境下python如何使用ffmpeg實現(xiàn)rtsp推流,文中的示例代碼講解詳細,有需要的小伙伴可以了解一下2023-09-09
Pycharm 使用 Pipenv 新建的虛擬環(huán)境(圖文詳解)
pipenv 是 Pipfile 主要倡導者、requests 作者 Kenneth Reitz 寫的一個命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。這篇文章主要介紹了Pycharm 使用 Pipenv 新建的虛擬環(huán)境的問題,需要的朋友可以參考下2020-04-04

