You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取numpy完整年份数组中有效年份对应的索引(无需循环/检索)

实现方案

直接使用numpy原生向量化方法即可,无需任何循环或自定义检索函数:

import numpy as np

valid_year = np.array([1999, 2005, 2007, 2010])
full_year = np.array([1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010])

# 生成匹配布尔掩码
match_mask = np.isin(full_year, valid_year)
# 提取匹配位置的索引
res_index = np.flatnonzero(match_mask)

输出res_index结果为array([ 0, 6, 8, 11]),和预期完全一致。

方法说明

  • np.isin(待检查数组, 参考数组):返回与待检查数组形状相同的布尔数组,对应位置为True代表该位置元素存在于参考数组中
  • np.flatnonzero(布尔数组):返回数组中所有值为非零(即True)的位置索引,适配一维数组场景直接得到目标结果

内容的提问来源于stack exchange,提问作者DiaryWolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:54:05