2016-09-08 2 views
0

저는 파이썬에 새로운 기능을 제공합니다. - 나는 gridReference 열을 반복하는 방법을 해결하려고 노력하고function - iPython에서 인수로 dataframe 열 사용

gridReference 
(190000, 200000) 
(560000, 250000) 
(560000, 250000) 
(560000, 250000) 
(560000, 250000) 
(560000, 250000) 
(320000, 80000) 

나는 또한 긴 위치 toConvert(E,N)를 LAT하는 좌표를 변환하는 기능을 가지고 :

나는 좌표 하나의 열이있는 dataframe이 값을 toConvert 함수에 인수로 입력 한 다음 다른 데이터 프레임에 새로운 Lat-Lon 좌표를 생성합니다.

희망 사항 - 사전에 감사드립니다! 당신이에 대한 팬더 DataFrame 필요 왜

+2

는 아마도 'DF는 ['gridReference '이 (적용 람다 X : toConvert (X [0] X [1]))'작동해야합니까? (x [0], x [1]), 축 = 1)' – EdChum

+1

'toConvert'에 대한 세부 사항을 게시하는 것이 좋습니다. . 시도하고있는 변환이 '적용'을 사용하는 것보다 훨씬 빠르게 벡터화되고 실행될 수 있습니다. – piRSquared

+0

그것은 일했다! 정말 고마워! – hsquared

답변

0

당신이 실제로

f = lambda x: toConvert(x[0],x[1])  
df['gridReference'].map(f) 

그러나 작업을 수행 할 수 있습니다 직접 귀하의 질문에 대답하기 위해? 튜플 목록 또는 터플 튜플을 사용하여 동일하게 수행 할 수 있으며 성능은 동일해야합니다. 튜플로 만든 열은 객체 유형이며 Numpy가 처리하지 않는다고 생각합니다. 또한 함수가 벡터화되지 않습니다. numba를 사용하여 벡터화 할 수 있습니다 (link 참조).

그래서 당신과 같이 built-in function map를 사용하여 팬더없이 동일하게 얻을 수있다 :.

map(df['gridReference'].values, f)