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

如何从numpy多维数组中获取各子数组的末位值、最大值和最小值

你原有代码的问题是直接对整个嵌套的object类型numpy数组调用np.max/np.min,没有逐行遍历每个子数组计算目标值。修改后的完整实现如下:

import numpy as np 

def run(*args):
    # 原有result生成逻辑不变
    result = np.array([np.array([((arr[i:] > 0).cumsum()/ np.arange(1, len(arr[i:])+1) * 100) for i in range(len(arr))],dtype=object) for arr in args], dtype=object)
    
    # 初始化三个结果容器
    last_incs = []
    maxs = []
    mins = []
    
    # 遍历每个输入数组对应的二维结果
    for arr_res in result:
        curr_last = []
        curr_max = []
        curr_min = []
        # 遍历当前二维结果的每一行子数组
        for sub_arr in arr_res:
            curr_last.append(sub_arr[-1]) # 取子数组末尾值
            curr_max.append(np.max(sub_arr)) # 取子数组最大值
            curr_min.append(np.min(sub_arr)) # 取子数组最小值
        # 转为object类型数组加入总结果
        last_incs.append(np.array(curr_last, dtype=object))
        maxs.append(np.array(curr_max, dtype=object))
        mins.append(np.array(curr_min, dtype=object))
    
    # 打印结果验证,也可以根据需求返回三个结果
    print("last incs:", last_incs)
    print("mins:", mins)
    print("maxs:", maxs)
    return last_incs, mins, maxs
            
run(np.array([12,12,-3,-1,2,1]), np.array([-3,-1,-2,1]), np.array([12,-12]))

运行上述代码输出的结果和你给出的预期输出完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:57:03