2015-02-06 209 views
0

鑑於這個樣子.csv文件:創建從.csv文件numpy的陣列

49.18;-3.34 
45.73;2.63 
47.88;-11.49 
45.74;3.06 
48.73;-9.56 
49.20;-3.42 

我使用下面的代碼:

data = np.genfromtxt("file.csv", delimiter=';') 

,所得陣列是這樣的:

[[ 49.18 -3.34] 
[ 45.73 2.63] 
[ 47.88 -11.49] 
[ 45.74 3.06] 
[ 48.73 -9.56] 
[ 49.2 -3.42] 
[ 45.71 2.53] 
[ 47.87 -11.67]] 

但我想是這樣的:

[[ 49.18 , -3.34] 
[ 45.73 , 2.63] 
[ 47.88 , -11.49] 
[ 45.74 , 3.06] 
[ 48.73 , -9.56] 
[ 49.2 , -3.42] 
[ 45.71 , 2.53] 
[ 47.87 , -11.67]] 

我在做什麼錯? 非常感謝,我希望你能幫助我

+3

一切都很好。 numpy的打印格式不顯示逗號 – wolfrevo 2015-02-06 12:27:47

回答

0

什麼是

data.shape 

輸出我認爲它已經工作如你所願。

+0

這是輸出:(125L,2L) – Agnisals 2015-02-06 12:33:51

+0

那麼,125行2列? 問題是您希望它打印某種方式還是希望它在一個numpy數組中使用? 是類型(數據)一個numpy.ndarray? – EngineeredE 2015-02-06 12:40:27

+0

沒錯,它是125行和2列。問題是我不能使用索引分別訪問列。這是一個numpy.ndarray – Agnisals 2015-02-06 12:48:03

0

如果你真的需要一個數組,而不是numpy的陣列,那麼您可以將您的np.array轉換到一個列表與tolist()

my_list = data.tolist() 

請記住,有一個列表,你只可以索引與下列每個維度註釋:

print my_list[0][0] 

,並用numpy的陣列可以使用這兩種寫法:

print data[0,0] 
print data[0][0] 
+0

'tolist()'產生一個'list',而不是一個數組。或者是列表的列表。 Python有一個名爲'array'的獨立類。但是'numpy'的廣泛使用,這是很少使用的。我知道我很挑剔,但術語在編程時很重要。 – hpaulj 2015-02-06 17:22:47

+0

你是對的。感謝您的評論。 – wolfrevo 2015-02-07 15:39:23