且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

朱莉娅:从数组或矩阵中删除行和列

更新时间:2023-12-01 09:48:34

正在使用:

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行):

To delete a single row (here row 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列):

To delete a single column (here column 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列):

To delete a single row and a single column (here row 2, column 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行):

To delete multiple rows (here rows 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列):

To delete multiple columns (here columns 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列):

To delete a single row and multiple columns (here row 4 and columns 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列):

To delete multiple rows and columns (here rows 1, 2 and columns 3, 4):

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