Python查找Numpy二维数组中缺失j值的实现方法
实现代码
核心逻辑:提取数组j列(第二列,索引为1)的所有现有取值,和预期要存在的j值集合做差,得到缺失的j值。
import numpy as np I=np.array([[0, 3], [1, 2], [1, 4], [2, 5], [3, 4], [4, 5], [4, 6], [5, 7], [6, 7]]) # 提取j列所有已存在的唯一值 existing_j = set(I[:, 1]) # 待校验的j值集合,包含要排查的j=1,以及已知存在的2~7 expected_j = {1,2,3,4,5,6,7} # 求差集得到缺失值,排序后对齐输出格式 Missing_j = sorted(list(expected_j - existing_j)) print(f"Missing_j={Missing_j}")
运行输出:
Missing_j=[1]
如果仅需单独判断j=1是否缺失,可直接用单行逻辑:Missing_j = [1] if 1 not in I[:,1] else []
说明:
I[:,1]是numpy的切片写法,用于取所有行的第二列(即j对应的列);集合差集计算效率高,适合大数组场景;排序操作是为了保证输出列表顺序固定,匹配预期格式。
内容的提问来源于stack exchange,提问作者Wiz123
相关产品推荐
相关产品推荐

