Julia:从数组或矩阵中删除行和列 [英] Julia: delete rows and columns from an array or matix

查看:41
本文介绍了Julia:从数组或矩阵中删除行和列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I delete one or more rows and/or columns from an array?

推荐答案

使用:

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

这篇关于Julia:从数组或矩阵中删除行和列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆