選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS 網路安全 資料科學
     ❯   

NumPy 過濾陣列


過濾陣列

從現有陣列中提取一些元素並建立一個新陣列的過程稱為過濾

在 NumPy 中,您可以使用布林索引列表過濾陣列。

布林索引列表是一個布林值列表,對應於陣列中的索引。

如果某個索引處的值為True,則該元素包含在過濾後的陣列中;如果該索引處的值為False,則該元素將從過濾後的陣列中排除。

示例

從索引 0 和 2 的元素建立陣列

import numpy as np

arr = np.array([41, 42, 43, 44])

x = [True, False, True, False]

newarr = arr[x]

print(newarr)
自己動手試一試 »

上面的示例將返回[41, 43],為什麼?

因為新陣列只包含過濾器陣列中值為True的那些值,在本例中是索引 0 和 2。


建立過濾陣列

在上面的示例中,我們硬編碼了TrueFalse值,但常見的用法是根據條件建立過濾陣列。

示例

建立一個過濾陣列,只返回大於 42 的值

import numpy as np

arr = np.array([41, 42, 43, 44])

# 建立一個空列表
filter_arr = []

# 遍歷 arr 中的每個元素
for element in arr
  # 如果元素大於 42,則將值設定為 True,否則設定為 False
  if element > 42
    filter_arr.append(True)
  else
    filter_arr.append(False)

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)
自己動手試一試 »


示例

建立一個過濾陣列,只返回原始陣列中的偶數元素

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

# 建立一個空列表
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)
自己動手試一試 »

直接從陣列建立過濾器

上述示例在 NumPy 中是一個相當常見的任務,NumPy 提供了一種很好的方法來解決它。

我們可以直接用陣列代替條件中的可迭代變數,它會像我們期望的那樣工作。

示例

建立一個過濾陣列,只返回大於 42 的值

import numpy as np

arr = np.array([41, 42, 43, 44])

filter_arr = arr > 42

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)
自己動手試一試 »

示例

建立一個過濾陣列,只返回原始陣列中的偶數元素

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)
自己動手試一試 »


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援