Python语言基础——Python NumPy 数组过滤
一、Python NumPy 数组过滤
数组过滤
从现有数组中取出一些元素并从中创建新数组称为过滤(filtering)。
在 NumPy 中,我们使用布尔索引列表来过滤数组。
布尔索引列表是与数组中的索引相对应的布尔值列表。
如果索引处的值为 True,则该元素包含在过滤后的数组中;如果索引处的值为 False,则该元素将从过滤后的数组中排除。
实例
用索引 0 和 2、4 上的元素创建一个数组:
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。
创建过滤器数组
在上例中,我们对 True 和 False 值进行了硬编码,但通常的用途是根据条件创建过滤器数组。
实例
创建一个仅返回大于 62 的值的过滤器数组:
import numpy as np
arr = np.array([61, 62, 63, 64, 65])
创建一个空列表
filter_arr = []
遍历 arr 中的每个元素
for element in arr:
如果元素大于 62,则将值设置为 True,否则为 False:
本文介绍了Python NumPy库中如何使用布尔索引进行数组过滤。通过创建布尔索引列表,可以根据条件筛选数组元素,例如选取大于特定值的元素或偶数元素。NumPy还提供了直接在条件中使用数组的方法,简化了过滤操作。
订阅专栏 解锁全文
515

被折叠的 条评论
为什么被折叠?



