2017-08-14 11 views
0

私はnumpy nd配列をパンダ列 に変換しようとしていますが、データに角括弧が付いています。Numpy nd array to []

これは私のNP配列である:

array([[[ 7.10105920e+07], 
     [ 9.18736320e+07], 
     [ 8.35562800e+07], 
     [ 7.16590640e+07], 
     [ 8.28060960e+07], 
     [ 6.77042000e+07], 
     [ 7.07195360e+07], 
     [ 1.04754616e+08], 
     [ 7.27420400e+07], 
     [ 7.33461760e+07], 
     [ 6.34156040e+07], 
     [ 8.00440800e+07], 

これは、私がデータフレームを送信しています方法です:

predictions = pd.DataFrame() 
predictions['y_test'] = Y_test[0].tolist() 

これは私が取得していますものです:

  y_test 
0 [71010592.0] 
1 [91873632.0] 
2 [83556280.0] 
3 [71659064.0] 
4 [82806096.0] 
5 [67704200.0] 
6 [70719536.0] 
7 [104754616.0] 
8 [72742040.0] 
9 [73346176.0] 

を角かっこ([])を削除するにはどうすればよいですか?あなたが3D配列を持っているようだ

答えて

4

それが3D配列のように見えます。あなたは、データフレームのコンストラクタにその最初の要素を渡すことができます。

pd.DataFrame(Y_test[0], columns=['y_test']) 
Out: 
     y_test 
0 71010592.0 
1 91873632.0 
2 83556280.0 
3 71659064.0 
4 82806096.0 
5 67704200.0 
6 70719536.0 
7 104754616.0 
8 72742040.0 
9 73346176.0 
10 63415604.0 
11 80044080.0 

Divakarからより良い代替手段がスクイズを使用することです:あなたは

オプション1を行うことができます方法の

pd.DataFrame(arr.squeeze(), columns=['y_test']) 
Out: 
     y_test 
0 71010592.0 
1 91873632.0 
2 83556280.0 
3 71659064.0 
4 82806096.0 
5 67704200.0 
6 70719536.0 
7 104754616.0 
8 72742040.0 
9 73346176.0 
10 63415604.0 
11 80044080.0 
+1

を平らに、私はちょうど使用するを使用して平らに'圧搾 '。 – Divakar

+0

@Divakarうん、はるかに良い。ありがとう。 – ayhan

3

は、あなたが試みることができる:

predictions['y_test'] = Y_test[0,:,0] 

predictions 

#  y_test 
#0 71010592.0 
#1 91873632.0 
#2 83556280.0 
#3 71659064.0 
#4 82806096.0 
#5 67704200.0 
#6 70719536.0 
#7 104754616.0 
#8 72742040.0 
#9 73346176.0 
#10 63415604.0 
#11 80044080.0 
1

カップルナンディインデックス作成

predictions['y_test'] = Y_test[0,:,0] 

オプション2はリスト内包

predictions['y_test'] = [x[0] for x in Y_test[0]] 

オプション3. numpyの機能をむしろ非シングルトン薄暗いを見つけるために煩わされるより

predictions['y_test'] = Y_test.flatten() 
0
prediction = pd.DataFrame(Y_test.flatten(), columns=['y_test']) 
prediction.head() 

    y_test 
    0  1.0 
    1  1.0 
    2  1.0 
    3  1.0 
    4  1.0