通过第3方包(比如DataFrames.jl等)可以很方便地将1个n行×m列的2维数组转换为dataframe,但是,如何将dataframe转换为array呢?网上搜到了TimeSeriesIO.jl,但由于未更新,用不了。
请问各位大神,有什么办法能实现呢?
非常感谢!
把DataFrame转换为数组会丢失很多信息。
不过如果你一定要转换的话,直接convert就好了
julia> df=DataFrame([1:3,4:6],[:A,:B])
3×2 DataFrame
│ Row │ A │ B │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 4 │
│ 2 │ 2 │ 5 │
│ 3 │ 3 │ 6 │
julia> arr=convert(Array,df)
3×2 Array{Int64,2}:
1 4
2 5
3 6
感谢大师回复!
之所以尝试将dataframe格式转换回2维数组,本意是建立一个Excel与Julia数据交互的桥梁。
1)关于Excel2Julia,大师在“[【请教】julia如何解析来自剪贴板的EXCEL复制的表格 ]“”(【请教】julia如何解析来自剪贴板的EXCEL复制的表格)“”http://discourse.juliacn.com/t/topic/1134/6)给了完美的解决方案;
2)关于Julia2Excel,如何在julia里对dataframe数据进行处理,复制至剪贴板,从而在excel端里直接粘贴为表格呢?
我试过,利用clipboard(dataframe数据)复制到剪贴板,在excel里粘贴的时候,里面带有很多“|”竖线,导致在Excel非常不好分析。
一言简之,如何将julia的数据(dataframe或array)进行处理,以便在excel里看可粘贴为2维数组呢?
再次致谢!
这个类似excel2julia的过程,往剪贴板里放入excel可以接受的表格格式就行了(CSV、XML等)。具体看那个帖子楼下对剪贴板格式的介绍
OK,收到,谢谢!