在stackoverflow.com
上-当我提供样本数据来制作可重现的示例时,我如何才能以朱利安的方式做到这一点呢?
例如,在R
中,dput(df)
将输出一个字符串,您可以使用该字符串再次创建df
。因此,您只需将结果发布到stackoverflow和bam!-可重现的示例。那么,在Julia中应该怎么做呢?
发布于 2020-05-11 15:14:07
我认为最简单的事情通常是在你的例子中用随机数等简单地构造一个MWE DataFrame,这样就不需要读/写了。
在不方便的情况下,您可以考虑写出到IO缓冲区并获取它的字符串表示,然后人们可以用同样的方式反向读回它:
julia> using CSV, DataFrames
julia> df = DataFrame(a = rand(5), b = rand(1:10, 5));
julia> io = IOBuffer()
IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=0, maxsize=Inf, ptr=1, mark=-1)
julia> string_representation = String(take!(CSV.write(io, df)))
"a,b\n0.5613453808585873,9\n0.3308122459718885,6\n0.631520224612919,9\n0.3533712075535982,3\n0.35289980394398723,9\n"
julia> CSV.read(IOBuffer(string_representation))
5×2 DataFrame
│ Row │ a │ b │
│ │ Float64 │ Int64 │
├─────┼──────────┼───────┤
│ 1 │ 0.561345 │ 9 │
│ 2 │ 0.330812 │ 6 │
│ 3 │ 0.63152 │ 9 │
│ 4 │ 0.353371 │ 3 │
│ 5 │ 0.3529 │ 9 │
https://stackoverflow.com/questions/61723347
复制相似问题