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

如何在多维数组上对指定维度子数组批量应用函数

问题:在MxNxK数组的M轴上批量应用函数(避免for循环)

我有一个维度为MxNxK的大型数组,希望遍历M轴,对每个NxK子数组应用函数,同时避免使用for循环。

为说明问题,我构建了一个10x5x4的数组:

import numpy as np

data = []
for i in range(1,11):
    a = np.full(shape=(5,4), fill_value=i)
    data.append(a)

data = np.array(data)

目前我通过循环遍历第一维度,对每个5x4子数组计算求和/均值:

means = []
sums = []

for i in data:
    means.append(i.sum())
    sums.append(i.mean())

实际场景中,我需要处理一个5000x200x20的数组,对每个200x20子数组应用函数,但apply_along_axis似乎无法解决该问题,恳请帮助。


补充说明

针对@chrslg的回复补充信息:我需要在MxNxK数组的每个M子数组上应用概率分布(pdf)和N分位数。测试发现,使用numba首次调用耗时7秒,但后续执行仅需0.77秒;而常规循环遍历M子数组耗时3.9秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:38:14