2017-05-06 59 views
0

首先,讓我告訴我,我花了將近1小時測試了很多可能的SO相關問題,但沒有成功。這對我來說很複雜(初學者用戶)。如果我已經按照數字鍵入了號碼,那麼我早就完成了。但是這個想法總是要學習。所以我想明白。從csv文件中操作兩個色譜柱

請看下面的例子:

>>> np.random.rand(3,2) 
array([[ 0.14022471, 0.96360618], 
     [ 0.37601032, 0.25528411], 
     [ 0.49313049, 0.94909878]]) 

這是我需要一些維諾代碼使用對象的類型。但我的數據來自csv文件。

我有一個csv文件的標題,我需要列clatclong。我想獲得這樣的輸出:

array([[ clat_1, clong_1], 
     [ clat_2, clong_2], 
       ... 
     [ clat_N, clong_N]]) 

使之與print輸出會是這樣:

[[ 0.19151945 0.62210877] 
[ 0.43772774 0.78535858] 
[ 0.77997581 0.27259261] 
[ 0.39720258 0.78873014] 
[ 0.31683612 0.56809865]] 

我裝有

csv_file='./demog.csv' 
demog = np.genfromtxt(csv_file, delimiter=',', skip_header=0, skip_footer=0, names=True,dtype=None) 

csv文件我後嘗試clat=demog['clat']clong=demog['clong'],但print clat看起來不是一個單一的列。

如何創建這樣N x 2對象(我甚至不知道它的名字:數組,數組,矩陣表,...)

回答

1

CLAT會給你整個LAT列,clong會給你整個長欄。把它們放在一起以陣列狀你與上述[緯度,經度]對可以使用ZIP:

array = [] 

for lat, long in zip(clat, clong): 
    array.append([lat, long]) 

array = np.array(array) 
print array 
+0

號碼(例如'-16.203697')從CSV延長(爲'-16.203696999999998')。如何保持相同的精度?此外,打印輸出不像我上面發佈(可能是因爲數字?)。 – Sigur

+0

另外,我的Voronoi代碼返回'plt.plot(points [:,0],points [:,1],'ko') TypeError:列表索引必須是整數,而不是元組。 'points'是'array'。 – Sigur

+0

我使用你的代碼和'points = np.array(points)'來獲得所需的輸出。如果你編輯我可以接受它。謝謝。 – Sigur