如何將第一行上的標題與Julia矩陣轉換爲DataFrame?如何將帶標題的Julia a Matrix(Array {Any,2})轉換爲DataFrame而不會丟失列順序?
我的確讀過這個answer,它涵蓋了同樣的問題,但它在Dict構造函數中給了我一個錯誤。
好吧,我寫我自己的實現(應該工作):
m = [ ['c',1,2] ['a',3,4] ['b',5,6] ]
3×3 Array{Any,2}:
'c' 'a' 'b'
1 3 5
2 4 6
df = convert(DataFrame, Dict([(ch,m[2:end,cix]) for (cix,ch) in enumerate(m[1,:])]))
2×3 DataFrames.DataFrame
│ Row │ a │ b │ c │
├─────┼───┼───┼───┤
│ 1 │ 3 │ 5 │ 1 │
│ 2 │ 4 │ 6 │ 2 │
但它仍然使用字典等原始列的訂單丟失。我猜測它可能非常慢!
那麼,如何在數據框中使用第一行作爲df標題而不丟失列順序來轉換矩陣?
只需用'OrderedDict(...)'替換'Dict(...)'(OrderedDict在DataStructures中,但可能已經導入,否則先使用DataStructures) –