gpt4 book ai didi

julia - 创建整数和缺失值的向量

转载 作者:行者123 更新时间:2023-12-04 00:15:36 24 4
gpt4 key购买 nike

真是个麻烦事……

我正在尝试创建一个包含 integermissing 值的向量。这工作正常:

b = [4, missing, missing, 3]

但我实际上希望向量更长,有更多 missing 值,因此使用 repeat(),但这不起作用

append!([1,2,3], repeat([missing], 1000))

这也行不通

[1,2,3, repeat([missing], 1000)]

请帮帮我,在这里。

最佳答案

另外值得注意的是,如果您不需要使用 append! 进行就地操作实际上在这种情况下进行垂直连接要容易得多:

julia> [[1, 2, 3]; repeat([missing], 2); 4; 5] # note ; that denotes vcat
7-element Array{Union{Missing, Int64},1}:
1
2
3
missing
missing
4
5

julia> vcat([1,2,3], repeat([missing], 2), 4, 5) # this is the same but using a different syntax
7-element Array{Union{Missing, Int64},1}:
1
2
3
missing
missing
4
5

vcat 的好处是它会自动进行类型提升(与 append! 相反,在这种情况下,您必须在操作之前正确指定目标容器的 eltype)。


请注意,因为 vcat在极端情况下进行自动类型提升,您可能会得到不同的 eltype运算结果:

julia> x = [1, 2, 3]
3-element Array{Int64,1}:
1
2
3

julia> append!(x, [1.0, 2.0]) # conversion from Float64 to Int happens here
5-element Array{Int64,1}:
1
2
3
1
2

julia> [[1, 2, 3]; [1.0, 2.0]] # promotion of Int to Float64 happens in this case
5-element Array{Float64,1}:
1.0
2.0
3.0
1.0
2.0

另见 https://docs.julialang.org/en/v1/manual/arrays/#man-array-literals .

关于julia - 创建整数和缺失值的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64292029/

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