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

能否简化2D数组my_array的指定列索引表达式?

简化NumPy 2D数组的索引写法

嘿,这个问题提得很实用!确实,当索引里既有单个元素又有连续序列时,写长列表有点冗余,咱们可以用NumPy自带的np.r_工具来简化,它专门用来快速拼接单个索引和切片,非常适合你的场景。

原来的索引[0,12,13,14,15]里,12,13,14,15是连续的序列,对应切片12:16(因为Python切片是左闭右开,所以到16就会包含15)。结合单个元素0,用np.r_可以写成:

import numpy as np
desired_elements = my_array[:, np.r_[0, 12:16]]

这样写既简洁又清晰,一眼就能看出你选了第0个元素,加上从12到15的连续元素,和原来的代码效果完全一致。

如果你不想用np.r_,也可以用np.concatenate来拼接单个元素数组和切片数组,但写法会稍微繁琐一点:

desired_elements = my_array[:, np.concatenate(([0], np.arange(12,16)))]

显然np.r_的写法更直观省事。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:46:23