如何编辑NumPy数组?筛选第二列值大于6的元素
NumPy数组筛选:保留第二列值大于6的行
直接通过布尔索引就能实现你要的筛选效果,完整代码如下:
import numpy as np a = np.array([[0, 7], [1, 7], [2, 7], [3, 7], [4, 3], [5, 3], [6, 2], [7, 7]]) # 筛选第二列值大于6的行 filtered_a = a[a[:, 1] > 6] print(filtered_a) # 输出: # [[0 7] # [1 7] # [2 7] # [3 7] # [7 7]] print(np.shape(filtered_a)) # 输出:(5, 2)
关键步骤解释:
a[:, 1]:取原数组所有行的第二列元素(NumPy索引从0开始计数),得到一维数组array([7, 7, 7, 7, 3, 3, 2, 7])a[:, 1] > 6:生成布尔掩码数组array([True, True, True, True, False, False, False, True]),其中True标记出第二列值大于6的行- 将布尔掩码传入原数组
a,自动筛选出所有掩码为True的行,得到目标结果
内容的提问来源于stack exchange,提问作者kim junyeong
相关产品推荐
相关产品推荐

