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