我真的需要你的幫助。我一直在試圖轉換它並尋找文檔,但我想我不知道我在找什麼。我如何使用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)
和我的輸出是完全一樣的:
[[ 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]]
我所尋找的是什麼輸出是這樣的:
[[[2.00101020e+07], [2.30100000e+03], [9.50700000e-01], [9.50700000e-01],
[9.50700000e-01], [9.50700000e-01], [4.00000000e+00]],
...]
我也試過這樣:
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)
輸出功率爲:
[[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並且經歷痛苦必須弄清楚這一點,比讓熊貓給我幾千兆字節的數據更好。
這可能是愚蠢的,但請幫助我!我將非常感謝您的幫助!
'樣本[...,無]'或'樣本[...,np.newaxis]'我猜。 – Divakar
'sample'是(5,7)形狀,對嗎?看起來像你想要的(5,7,1)或者也許(35,1) – hpaulj
其實現在我嘗試了(5,7,1),它對我來說效果很好。非常感謝你們! – Awah