菜单
×
   ❮     
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 提供支持