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
可以被任何集合聚合函数替换