2017-03-25 8 views
0

私は本当にこれであなたの助けが必要です。私はそれを変換し、ドキュメントを探しているが、私は私が探しているものを正確に知らないと思う。numpyを使用して配列を配列の配列に変換するには

私の入力ファイルは、この構造を有する:ここで

20010102,2301,0.95070,0.95070,0.95070,0.95070,4 
20010102,2302,0.95060,0.95060,0.95050,0.95050,4 
20010102,2303,0.95050,0.95070,0.95050,0.95060,4 
20010102,2304,0.95060,0.95060,0.95060,0.95060,4 

は私のコードです:

import numpy as np 
EU = np.loadtxt('data_s.csv', delimiter=',') 
sample = EU[:5] 
size = len(sample) 
print (sample) 

というの出力は、このでした。だから私はそれを再形成しようとした

[[ 2.00101020e+07 2.30100000e+03 9.50700000e-01 9.50700000e-01 
    9.50700000e-01 9.50700000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30200000e+03 9.50600000e-01 9.50600000e-01 
    9.50500000e-01 9.50500000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30300000e+03 9.50500000e-01 9.50700000e-01 
    9.50500000e-01 9.50600000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30400000e+03 9.50600000e-01 9.50600000e-01 
    9.50600000e-01 9.50600000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30500000e+03 9.50600000e-01 9.50600000e-01 
    9.50600000e-01 9.50600000e-01 4.00000000e+00]] 

(それは私がしなければならないものではないと確信している):

sample = sample.reshape(size, 7) 
print(sample) 

と私の出力がまったく同じだった:

sample = EU[:5] 
final = [] 
for line in sample: 
    va = [] 
    for var in line: 
     var = np.array(var) 
     va.append(var) 
    final.append(va) 
print(final) 
:私もこれを試してみました

[[[2.00101020e+07], [2.30100000e+03], [9.50700000e-01], [9.50700000e-01], 
     [9.50700000e-01], [9.50700000e-01], [4.00000000e+00]], 
...] 

:私は探しています何

[[ 2.00101020e+07 2.30100000e+03 9.50700000e-01 9.50700000e-01 
    9.50700000e-01 9.50700000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30200000e+03 9.50600000e-01 9.50600000e-01 
    9.50500000e-01 9.50500000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30300000e+03 9.50500000e-01 9.50700000e-01 
    9.50500000e-01 9.50600000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30400000e+03 9.50600000e-01 9.50600000e-01 
    9.50600000e-01 9.50600000e-01 4.00000000e+00] 
[ 2.00101020e+07 2.30500000e+03 9.50600000e-01 9.50600000e-01 
    9.50600000e-01 9.50600000e-01 4.00000000e+00]] 

はこのようなものの出力であります

であり、出力は:

[[array(20010102.0), array(2301.0), array(0.9507), array(0.9507), array(0.9507), array(0.9507), array(4.0)], [array(20010102.0), array(2302.0), array(0.9506), array(0.9506), array(0.9505), array(0.9505), array(4.0)], [array(20010102.0), array(2303.0), array(0.9505), array(0.9507), array(0.9505), array(0.9506), array(4.0)], [array(20010102.0), array(2304.0), array(0.9506), array(0.9506), array(0.9506), array(0.9506), array(4.0)], [array(20010102.0), array(2305.0), array(0.9506), array(0.9506), array(0.9506), array(0.9506), array(4.0)]] 

は、配列ではなくリストになります。だから私はこれを試した:

final = np.array(final) 

と私は出発点に戻ってきた。

私はこれらの入力を受け入れることができるはずの機械学習プロジェクトに取り組んでいますが、現時点ではすべての行が入力であるように見えますが、各値が別々の変数であるとは限りません。

多分私はこの間違いを考えています。私はパンダを使ってみましたが、numpyを使ってこれを理解しなければならないという痛みを感じることは、パンダが私に数百MBのデータを与えることよりも優れています。

これは愚かかもしれませんが、私を助けてください!私は助けに感謝以上のものになるでしょう!

+0

'sample [...、None]'または 'sample [...、np.newaxis]'私は推測しています。 – Divakar

+0

'sample'は(5,7)形ですが、右か?あなたが(5,7,1)か多分(35,1)を望むように見える – hpaulj

+0

実際に今私は(5,7,1)を試してみて、それは私のためにうまくいった。ありがとう、たくさんの人! – Awah

答えて

0

あなたは

sample = sample.reshape(size, 7, 1) 

を試してみましたか?

+0

私はしていないと私はそれを行うことができるか分からなかった!リシェイプのドキュメントは、リシェイプがどのように行われたかについてはっきりとは言いません!助けてくれてありがとう!私はちょうどそれを試み、それは働いた! – Awah

関連する問題