ArrayReduce[f,array,n]
f を適用することで array の次元 n を削減する.
ArrayReduce[f,array,n1;;n2]
次元 n1から n2を削減する.
ArrayReduce[f,array,{n1,n2,…}]
次元 n1,n2等を削減する.
ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}]
すべての次元 nijを組み合せて形成された配列に f を適用して各次元を i にする.
ArrayReduce
ArrayReduce[f,array,n]
f を適用することで array の次元 n を削減する.
ArrayReduce[f,array,n1;;n2]
次元 n1から n2を削減する.
ArrayReduce[f,array,{n1,n2,…}]
次元 n1,n2等を削減する.
ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}]
すべての次元 nijを組み合せて形成された配列に f を適用して各次元を i にする.
詳細
- 配列の削減は配列の集約とも呼ばれるもので,配列の特定の次元に沿って,Mean,Total,StandardDeviation等の関数の計算に使われる.
- ArrayReduce[f,array,n]の f は配列の第 n 次元に沿ったすべてのベクトルに適用される.これは,次元 n が最終次元になり,その後に低レベルのベクトルに f が適用される転置と見ることができる.
- array の次元が{d1,d2,…}で関数がベクトルをスカラーに変換するのであれば,結果は削除された dnを除いて array と同じ次元の配列である.
- ArrayReduce[f,array,n1;;n2]とArrayReduce[f,array,{n1,n2,…}]の f は,指定の次元を組み合せて平坦化することで形成されたすべてのベクトルに適用される.
- ArrayReduce[f,array,{{n11,n12,…},{n21,n22,…},…}]の f はベクトルだけではなく任意次数の配列に適用される.
- ArrayReduce[f,array,{n1,n2,…}]はArrayReduce[f,array,{{n1,n2,…}}]に等しい.
例題
すべて開く すべて閉じる例 (3)
ArrayReduce[Mean, (| | | | | |
| -- | -- | -- | -- | -- |
| 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 |), 2]ArrayReduce[Mean, (| | | | | |
| -- | -- | -- | -- | -- |
| 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 |), 1]array = RandomInteger[9, {3, 5, 2}]array2 = ArrayReduce[StandardDeviation, array, 2]Dimensions[array2]MatrixForm[array] -> MatrixForm[array2]array = RandomReal[9, {3, 5, 2, 6, 4}];array2 = ArrayReduce[Total, array, {2, 4}]//Dimensionsスコープ (3)
MatrixForm[array = ArrayReshape[Alphabet[], {2, 3, 4}]]第1レベルに沿って頭部 h を適用し,次元3×4の結果を取得する:
ArrayReduce[Apply[h], array, 1]//MatrixForm第2レベルに沿って頭部 h を適用し,次元2×4の結果を取得する:
ArrayReduce[Apply[h], array, 2]//MatrixForm第3レベルに沿って頭部 h を適用し,次元2×3の結果を取得する:
ArrayReduce[Apply[h], array, 3]//MatrixFormarray = RandomInteger[9, {3, 2, 2, 3, 2}]ArrayReduce[Total, array, 2 ;; 4]ArrayReduce[Total, array, {2, 3, 4}]ArrayReduce[Total, array, {3, 4, 2}]MatrixForm[array = ArrayReshape[DateRange[DateObject[{2025, 1}, "Month"], DateObject[{2026, 12}, "Month"], "Month"], {2, 4, 3}]]第3レベル(月)に沿って削減し,2年4四半期の次元の行列を取得する:
ArrayReduce[f, array, 3]//MatrixFormArrayReduce[f, array, 2]//MatrixFormArrayReduce[f, array, 1]//MatrixForm異なる可能な3つの方法で2つのレベルを同時に削減する.結果は常にベクトルになる:
ArrayReduce[f, array, {1, 2}]ArrayReduce[f, array, {2, 3}]ArrayReduce[f, array, {1, 3}]ArrayReduce[f, array, {1, 2, 3}]特性と関係 (9)
ArrayReduce[f,array,n]は,正の整数 n について,ArrayReduce[f,array,{n}]に等しい:
array = RandomInteger[10, {2, 4, 3}]ArrayReduce[Total, array, 2]ArrayReduce[Total, array, {2}]ArrayReduce[Total,array,n]はTotal[array,{n}]に等しい:
array = RandomInteger[100, {2, 3, 4, 5}];Table[ArrayReduce[Total, array, n] === Total[array, {n}], {n, 1, 4}]ArrayReduce[Total,array,1;;n]はTotal[array,n]に等しい:
Table[ArrayReduce[Total, array, 1 ;; n] === Total[array, n], {n, 1, 4}]ArrayReduce[f,a,{1,…,k}]は,深さ k の配列 a については f[Flatten[a]]に等しい:
a = RandomInteger[10, {2, 3, 2, 3}]ArrayReduce[f, a, {1, 2, 3, 4}] === f[Flatten[a]]ArrayReduce[f,a,{}]は,深さ k の配列 a についてはMap[f,a,{k}]に等しい:
a = RandomInteger[10, {2, 3, 2}]ArrayReduce[f, a, {}]% === Map[f, a, {3}]ArrayReduce[f,a,ν]は,深さ k の配列 a および明確なレベル ni≤k のリスト ν={n1,n2,…,ns}についてはMap[f,Flatten[a,{{m1},…,{mr},ν}],{r}]に等しい.ただし{m1,...,mr}=Complement[Range[k],ν]である:
a = RandomInteger[10, {2, 3, 2, 2, 3}]ArrayReduce[f, a, {2, 5, 3}]% === Map[f, Flatten[a, {{1}, {4}, {2, 5, 3}}], {2}]ArrayReduce[f,a,n1;;n2]は,深さ k でレベル n1≤n2≤k の配列 a についてはArrayReduce[f,a,Range[n1,n2]]に等しい:
a = RandomInteger[10, {2, 3, 3, 2}]ArrayReduce[f, a, 2 ;; 4]% === ArrayReduce[f, a, {2, 3, 4}]ArrayReduce[f,a,{{n1,…,ns}}]は,配列 a についてはArrayReduce[f,a,{n1,…,ns}]に等しい:
a = RandomInteger[10, {2, 3, 3, 2}];ArrayReduce[f, a, {{3, 1, 4}}] === ArrayReduce[f, a, {3, 1, 4}]TensorContract[a,{{i1,i2},{j1,j2},…}]は,矩形配列 a についてはArrayReduce[Tr,a,{{i1,j1,…},{i2,j2,…}}]に等しい:
a = Array[Subscript[x, ##]&, {1, 2, 3, 2, 3, 2, 3, 2}];TensorContract[a, {{2, 6}, {3, 7}, {4, 8}}]% === ArrayReduce[Tr, a, {{2, 3, 4}, {6, 7, 8}}]AggregationLayer[f,levels][array]はArrayReduce[f,array,levels]として表すこともできる:
array = RandomReal[1, {1, 2, 3, 4}];AggregationLayer[Mean, {1, 3, 4}][array]ArrayReduce[Mean, array, {1, 3, 4}]関連するガイド
-
▪
- 関数のリストへの適用 ▪
- リストの並べ替えと再構築 ▪
- テンソル ▪
- データの配列の操作
テキスト
Wolfram Research (2020), ArrayReduce, Wolfram言語関数, https://reference.wolfram.com/language/ref/ArrayReduce.html.
CMS
Wolfram Language. 2020. "ArrayReduce." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayReduce.html.
APA
Wolfram Language. (2020). ArrayReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayReduce.html
BibTeX
@misc{reference.wolfram_2026_arrayreduce, author="Wolfram Research", title="{ArrayReduce}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayReduce.html}", note=[Accessed: 14-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_arrayreduce, organization={Wolfram Research}, title={ArrayReduce}, year={2020}, url={https://reference.wolfram.com/language/ref/ArrayReduce.html}, note=[Accessed: 14-August-2026]}