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

如何从1000×1000的NumPy数组中按指定索引选取行列

NumPy数组指定行列选取方案

步骤1:生成合并后的行/列索引

利用NumPy的np.r_工具可以快速合并连续切片与单个索引,生成符合要求的索引数组:

  • 处理行索引:

    import numpy as np
    
    # 原数组定义
    a = np.array([list(range(1,1001))]*1000)
    
    # 合并指定行索引:0-1行、4-6行、第101行、156-988行
    row_indices = np.r_[0:2, 4:7, 101, 156:989]
    
  • 处理列索引:

    # 合并指定列索引:0-2列、400-588列、第678列、701-998列
    col_indices = np.r_[0:3, 400:589, 678, 701:999]
    

步骤2:选取目标子数组

使用np.ix_将行、列索引转换为二维网格索引,确保正确选取行与列的笛卡尔积(得到二维子数组):

new_array = a[np.ix_(row_indices, col_indices)]

关键说明

  • 切片规则:NumPy中start:end为左闭右开区间,例如0:2实际包含索引0、1,156:989包含156到988的索引
  • np.r_的作用是将多个切片、单个索引拼接成一维索引数组
  • np.ix_用于避免索引广播错误,确保最终得到的是行与列组合的二维子数组,而非一维配对索引结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:06:37