2017-03-21 13 views
4

にアレイへのラベルでデータフレームを変換し、私はジュリアのヘッダとデータフレームを持っていますが、私はいくつかのフィルタリングのためのアレイにこれを変換する必要があり、人々が使用して を示唆していくつかの同様の記事があります:ジュリア

iris[:, 1:3] 

データフレームから配列を取得するが、このメソッドはヘッダー付きのデータフレームでは機能しません。私は何をすべきですか?

データフレーム形式:

FP | C1 | Cz | C2 .... 
* | * | * | * .... 
. | . | . | . .... 
. | . | . | . .... 
. | . | . | . .... 

答えて

7

あなたはconvert(Array, iris[:,1:3])を試みたことがありますか?例:

julia> using DataFrames 

julia> df = DataFrame(a = 1:4, b = 1:4, c = randn(4), d = randn(4)) 
4×4 DataFrames.DataFrame 
│ Row │ a │ b │ c   │ d   │ 
├─────┼───┼───┼───────────┼───────────┤ 
│ 1 │ 1 │ 1 │ 0.192261 │ -0.613842 │ 
│ 2 │ 2 │ 2 │ -0.964262 │ 0.951377 │ 
│ 3 │ 3 │ 3 │ -0.222804 │ 0.357736 │ 
│ 4 │ 4 │ 4 │ -0.43415 │ 0.501033 │ 

julia> convert(Array, df[:,1:3]) 
4×3 Array{Real,2}: 
1 1 0.192261 
2 2 -0.964262 
3 3 -0.222804 
4 4 -0.43415 
+0

は、おかげで、それが働いた人間0.5 –

+0

でOK動作します! –

+0

パーフェクト! :-) お力になれて、嬉しいです。 1つの注記:Null/NAの値がある場合は、3番目の引数に置き換えて(Array内では許可されていないので)置き換えることができます。 'convert(配列、アイリス[1:3]、0)'。 –

5

受け入れられた回答は、記載された質問に答える良い仕事です。

アレイにデータフレームに変換したいのためのあなたの唯一の理由は、それをフィルタリングすることである場合は、しかし、それが直接フィルタリングデータフレームのオブジェクトのために利用可能な方法を検討して価値があるかもしれません。 、いくつかの例については、https://dataframesjl.readthedocs.io/en/latest/subsets.htmlhttps://dataframesjl.readthedocs.io/en/latest/split_apply_combine.htmlを参照してください。

(これは答え、まだここにコメントするのに十分な評判よりもコメントに適している場合は、事前に申し訳ありません。)