【问题标题】:How to concatenate differently sized vectors in Julia?如何在 Julia 中连接不同大小的向量?
【发布时间】:2021-01-15 03:55:53
【问题描述】:

如何将不同大小的数组与数组不对齐的“填充”值连接起来?

a = [1,2,3]
b = [1,2]

我想:

[1 2 3
 1 2 missing]

或者

[1 2 3
 1 2 nothing]

【问题讨论】:

  • 您能否详细说明您为什么要这样做? (PS:您要求的任何输出都不是有效的 Julia 语法)
  • 谢谢,我修复了输出。我有一个混合长度数组的数组,我想show 以类似矩阵的格式。我想将它们组合成一个矩阵,然后利用NamedArrays.jl中的show方法

标签: arrays vector julia concatenation


【解决方案1】:

一种方法,使用“参差不齐的堆栈”rstack。它总是沿着一个新维度放置数组,因此给定向量,它们形成矩阵的列。 (原来的问题可能想要这个结果的转置。)

julia> using LazyStack

julia> rstack(a, b; fill=missing)
3×2 Matrix{Union{Missing, Int64}}:
 1  1
 2  2
 3   missing

julia> rstack(a, b, reverse(a), reverse(b); fill=NaN)
3×4 Matrix{Real}:
 1    1  3    2
 2    2  2    1
 3  NaN  1  NaN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 2016-06-06
    • 2022-01-25
    • 2021-06-07
    相关资源
    最近更新 更多