gpt4 book ai didi

arrays - Julia:从数组或矩阵中删除行和列

转载 作者:行者123 更新时间:2023-12-02 05:51:08 26 4
gpt4 key购买 nike

如何从数组中删除一行或多行和/或多列?

最佳答案

合作:

julia> array = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
4×4 Array{Int64,2}:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

要删除单行(此处为第 2 行):

julia> newarray = array[1:end .!= 2, :]
3×4 Array{Int64,2}:
1 2 3 4
9 10 11 12
13 14 15 16

要删除单个列(此处为第 3 列):

julia> newarray = array[:, 1:end .!= 3]
4×3 Array{Int64,2}:
1 2 4
5 6 8
9 10 12
13 14 16

要删除单行和单列(此处为第 2 行、第 3 列):

julia> newarray = array[1:end .!= 3, 1:end .!= 3]
3×3 Array{Int64,2}:
1 2 4
5 6 8
13 14 16

要删除多行(此处为第 2、4 行):

julia> newarray = array[setdiff(1:end, (2,4)), :]
2×4 Array{Int64,2}:
1 2 3 4
9 10 11 12

要删除多列(此处为第 2、4 列):

julia> newarray = array[:, setdiff(1:end, (2,4))]
4×2 Array{Int64,2}:
1 3
5 7
9 11
13 15

要删除单行和多列(此处为第 4 行和第 3、4 列):

julia> newarray = array[1:end .!= 4, setdiff(1:end, (3,4))]
3×2 Array{Int64,2}:
1 2
5 6
9 10

# or

julia> newarray = array[setdiff(1:end, 4), setdiff(1:end, (3,4))]
3×2 Array{Int64,2}:
1 2
5 6
9 10

# or
julia> newarray = array[setdiff(1:end, (4,)), setdiff(1:end, (3,4))]
3×2 Array{Int64,2}:
1 2
5 6
9 10

要删除多行和多列(此处为第 1、2 行和第 3、4 列):

julia> newarray = array[setdiff(1:end, (1,2)), setdiff(1:end, (3,4))]
2×2 Array{Int64,2}:
9 10
13 14

关于arrays - Julia:从数组或矩阵中删除行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com