2017-11-19 15 views
1

私はパンダのデータフレームを使ってデータを消去し、処理しています。しかし、私はエクスプロイト行列の乗算を使うためにそれをnumpy ndarrayに変換する必要があります。私は、次のとリストのリストにデータフレームを回す:パンダのデータフレームをnumpyのndarrayに変換する

x = df.tolist() 

これは、以下の構造を返します。

x = np.array(x) 

[[1, 2], [3, 4], [5, 6], [7, 8] ...] 

を、私は、このようなnumpyの配列に変換します

ただし、次のプリント:

print(type(x)) 
print(type(x[0])) 

は、この結果を与える:

'numpy.ndarray' 
'numpy.float64' 

はしかし、私はそれらの両方がnumpyの配列にする必要があります。それがパンダのデータフレームからではなく、ハードコードされたリストのリストを変換するだけの場合は、両方ともndarraysです。リストを取得するにはどうしたらいいですか?そのリストがデータフレームから作成されたときにそのリストのリストがndarraysになるようにしますか?読んでくれてありがとうございました。

+0

私の答えが役に立ったら、[accept](http://meta.stackexchange.com/a/5235/295067)を忘れないでください。チェックマーク( '✓' )答えの横にそれを灰色で塗りつぶしてトグルします。ありがとう。 – jezrael

答えて

0

df.get_values()と、最終的にはnp.reshapeとしてみてください。

1

私はあなたがvaluesが必要だと思う。そして、

df = pd.DataFrame({'C':[7,8,9,4,2,3], 
        'D':[1,3,5,7,1,0]}) 

print (df) 
    C D 
0 7 1 
1 8 3 
2 9 5 
3 4 7 
4 2 1 
5 3 0 

x = df.values 
print (x) 
[[7 1] 
[8 3] 
[9 5] 
[4 7] 
[2 1] 
[3 0]] 

とインデックスによって選択:

print (x[:,0]) 
[7 8 9 4 2 3] 

print (x[:,1]) 
[1 3 5 7 1 0] 

print (type(x[:,0])) 
<class 'numpy.ndarray'> 

はまた、トランス可能ですポーズアレイ:

x = df.values.T 
print (x) 
[[7 8 9 4 2 3] 
[1 3 5 7 1 0]] 

print (x[0]) 
[7 8 9 4 2 3] 

print (x[1]) 
[1 3 5 7 1 0] 
関連する問題