2017-05-06 4 views
0

우선, 거의 1 시간 동안 가능한 많은 관련 질문을 테스트했지만 성공하지 못했다는 것을 알려 드리겠습니다. 그것은 나에게 복잡하다 (초급 사용자). 번호로 번호를 입력 한 경우 이전에 완료했을 것입니다. 그러나 아이디어는 항상 배우는 것입니다. 그래서 나는 이해하고 싶다.CSV 파일에서 두 개의 열을 조작하십시오

>>> 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]]) 

이 : 나는이 같은 출력을 얻을 싶습니다 난 후

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

와 csv 파일을로드

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

시도한 clat=demog['clat']clong=demog['clong'] 그러나 print clat 단일 열 것으로 보이지 않습니다. 같은 N x 2 개체를 만드는 방법

(심지어 그 이름 모를 : 배열,리스트, 매트릭스, 테이블, ...)

답변

1

clat는 당신에게 전체 위도 열을 줄 것이다, 그리고 clong 당신에게 줄 것이다 전체 긴 열.

array = [] 

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

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

숫자의 CSV (-16.203696999999998''에) 확장되었다에서 (예를 들어'-16.203697'에 대한) : 당신이 언급 한 것처럼 배열에 함께 넣어하기 위해 [위도, 긴] 쌍 당신은 우편 번호를 사용할 수 있습니다. 같은 정밀도를 유지하는 방법? 또한 인쇄 출력물이 위에 게시 된 것과 다를 수 있습니다 (아마도 숫자 때문에?). – Sigur

+0

또한 내 보로 노이 코드는'plt.plot (points [:, 0], points [:, 1], 'ko')를 반환했습니다. TypeError : 목록 인덱스는 tuple이 아닌 정수 여야합니다. 'points'는'array'입니다. – Sigur

+0

당신의 코드를'points = np.array (points)'와 함께 사용하여 원하는 결과를 얻었습니다. 편집하면 받아 들일 수 있습니다. 감사. – Sigur

관련 문제