2017-05-06 13 views
0

まず、ほとんどの場合、可能な限り多くの関連する質問をテストしましたが、成功は見られませんでした。それは私にとっては難しい(初心者ユーザ)。番号で番号を入力した場合、私は以前に終了していました。しかし、そのアイデアは、常に学ぶことです。だから私は理解したい。CSVファイルから2つの列を操作する

は、次の例を考えてみましょう:

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

これは、私はいくつかのボロノイコードを使用する必要があるオブジェクトの種類です。しかし、私のデータはCSVファイルから来ます。

私はヘッダー付きのcsvファイルを持っており、私は列clatclongが必要です。 printと、出力は次のようになるように

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

[[ 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は単一の列には見えません。

答えて

1

CLATあなたが全体の緯度列を与えるだろう、とclongはあなたを与えるだろう:(配列、リスト、行列、テーブル、...は、私もその名を知らない)、このようなN x 2オブジェクトを作成する方法

長い列全体。あなたが言及したように配列にそれらを一緒に配置するには、[緯度、長い]あなたはジップを使用することができますペア:CSVファイルから

array = [] 

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

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

番号(例えばは '-16.203697')(-16.203696999999998''まで)延長されました。同じ精度を維持するには?また、印刷出力は私が上に掲示したようではありません(多分数字のため?)。 – Sigur

+0

また、私のVoronoiコードは 'plt.plot(points [:、0]、points [:、1]、 'ko')を返しましたTypeError:リストインデックスはタプルではなく整数でなければなりません。 'points'は' array'です。 – Sigur

+0

あなたのコードを 'points = np.array(points)'と一緒に使って、目的の出力を得ました。編集すれば私はそれを受け入れることができます。ありがとう。 – Sigur

関連する問題