Julia 用伪造者重复随机数据

Julia 用伪造者重复随机数据,julia,Julia,我想对许多行使用伪造数据。我当前的代码只会重复Faker库当时生成的内容: 电流输出: │ Row │ Identifier │ │ │ String │ ├─────┼────────────┤ │ 1 │ 40D593 │ │ 2 │ 40D593 │ │ 3 │ 40D593 │ 预期产出: │ Row │ Digits │ │ │ String │ ├─────┼────────┤ │ 1 │ 23K125 │ │ 2

我想对许多行使用伪造数据。我当前的代码只会重复Faker库当时生成的内容:

电流输出:

│ Row │ Identifier │
│     │ String     │
├─────┼────────────┤
│ 1   │ 40D593     │
│ 2   │ 40D593     │
│ 3   │ 40D593     │
预期产出:

│ Row │ Digits │
│     │ String │
├─────┼────────┤
│ 1   │ 23K125 │
│ 2   │ 13K125 │
│ 3   │ 45K125 │
df2=DataFrame(标识符=repeat([Faker.bothify(“##?######“)),outer=[3])


我想我可以做一些类似于伪造的东西。bothify(“###?####”)3。我想可能还有一种方法可以将其应用于已经制作的数据帧列,但我找不到一种方法来快速浏览文档。

简单的方法是使用理解:

df2 = DataFrame(Identifier=[Faker.bothify("##?###") for _ in 1:3])
另一种选择是使用广播(但对我来说,这种情况下的理解更自然):

(我想这就是你想要的)

这是将其应用于具有
String
eltype的现有列的方法。此操作已到位:

julia> df = DataFrame(Identifier=Vector{String}(undef, 3))
3×1 DataFrame
│ Row │ Identifier │
│     │ String     │
├─────┼────────────┤
│ 1   │ #undef     │
│ 2   │ #undef     │
│ 3   │ #undef     │

julia> df.Identifier .= Faker.bothify.("##?###")
3-element Array{String,1}:
 "12H314"
 "56G992"
 "23X588"

julia> df
3×1 DataFrame
│ Row │ Identifier │
│     │ String     │
├─────┼────────────┤
│ 1   │ 12H314     │
│ 2   │ 56G992     │
│ 3   │ 23X588     │

谢谢为什么是undef而不是missing?对于missing,编写它会更复杂:
Vector{Union{missing,String}(missing,3)
。不同之处在于,该列将允许
缺失
。在上面的代码中,它只能容纳
字符串
元素。
julia> df = DataFrame(Identifier=Vector{String}(undef, 3))
3×1 DataFrame
│ Row │ Identifier │
│     │ String     │
├─────┼────────────┤
│ 1   │ #undef     │
│ 2   │ #undef     │
│ 3   │ #undef     │

julia> df.Identifier .= Faker.bothify.("##?###")
3-element Array{String,1}:
 "12H314"
 "56G992"
 "23X588"

julia> df
3×1 DataFrame
│ Row │ Identifier │
│     │ String     │
├─────┼────────────┤
│ 1   │ 12H314     │
│ 2   │ 56G992     │
│ 3   │ 23X588     │