Julia 在阵列维度上广播

Julia 在阵列维度上广播,julia,Julia,假设我有一个二维数组 a = [1 2 3; 1 2 3] 2×3 Array{Int64,2}: 1 2 3 1 2 3 我想沿着维度进行求和,例如沿着维度1 [2, 4, 6] 或者沿着维度2屈服 [6, 6] 在Julia中如何正确执行此操作 julia> sum(a; dims=1) 1×3 Array{Int64,2}: 2 4 6 julia> sum(a; dims=2) 2×1 Array{Int64,2}: 6 6 您可以使用vec

假设我有一个二维数组

a = [1 2 3; 1 2 3]

2×3 Array{Int64,2}:
 1  2  3
 1  2  3
我想沿着维度进行
求和
,例如沿着维度1

[2, 4, 6]
或者沿着维度2屈服

[6, 6]
Julia
中如何正确执行此操作

julia> sum(a; dims=1)
1×3 Array{Int64,2}:
 2  4  6

julia> sum(a; dims=2)
2×1 Array{Int64,2}:
 6
 6

您可以使用
vec

删除维度,田军建议的是标准方法。然而,还值得了解一种更为普遍的模式:

julia> sum.(eachrow(a))
2-element Array{Int64,1}:
 6
 6

julia> sum.(eachcol(a))
3-element Array{Int64,1}:
 2
 4
 6
在这种情况下,
sum
可以被任何集合聚合函数替换