如何获取1D数组25索引至末尾子集argmax的原数组索引?
解决一维数组切片后获取原数组argmax索引的问题
核心逻辑很直接:切片子集里的argmax索引是相对于切片起始位置的偏移量,把这个偏移量加上切片的起始索引(也就是25),就能得到原数组中的正确索引。
示例代码(Python普通列表场景)
# 假设是长度大于25的一维列表 arr = [3, 1, 4, 1, 5, ...] # 截取索引25到末尾的切片 slice_part = arr[25:] # 找到切片内最大值的索引(相对于切片的偏移) slice_argmax = slice_part.index(max(slice_part)) # 计算原数组中的对应索引 original_index = 25 + slice_argmax
示例代码(NumPy数组场景)
如果用NumPy处理更高效:
import numpy as np # 长度大于25的NumPy一维数组 arr = np.array([3, 1, 4, 1, 5, ...]) # 直接获取切片内的argmax偏移量 slice_argmax = np.argmax(arr[25:]) # 转换为原数组索引 original_index = 25 + slice_argmax
不管是普通列表还是NumPy数组,只要记住起始索引 + 切片内的偏移量,就能快速得到原数组中最大值对应的正确索引。
内容的提问来源于stack exchange,提问作者traderblakeq
相关产品推荐
相关产品推荐

