从Julia中另一个数组中的特定列获取子数组

2024-10-06 11:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是使用Julia从矩阵中提取某些列,然后使这些列成为新数组。例如,在Python中,如果我定义

x=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
y=[1,3]
x[:,y]

这给了我想要的结果:

array([[ 2,  4],
       [6,  8],
       [10, 12],
       [14, 16]])

然而,在茱莉亚,如果我定义

x=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
y=[1 3]
view(x, :, [1 2])

它返回一个4×1×2数组,这对于我正在执行的操作是不可取的:

  4×1×2 view(::Array{Int64,2}, :, [1 2]) with eltype Int64:
  [:, :, 1] =
   1
   5
   9
   13

   [:, :, 2] =
   2
   6
   10
   14

如何编写上述代码,使输出为4x2数组;i、 e

   1   2
   5   6
   9   10
   13  14

Tags: 代码view目标定义withnp矩阵数组
1条回答
网友
1楼 · 发布于 2024-10-06 11:25:07

您已经编写了作为一行矩阵的[1 2],并且应该编写作为向量的[1, 2]

julia> x=[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

julia> view(x, :, [1, 2])
4×2 view(::Array{Int64,2}, :, [1, 2]) with eltype Int64:
  1   2
  5   6
  9  10
 13  14

相关问题 更多 >