사전을 가져 와서 각 키를 해당 값의 값으로 올리려고합니다. 그리고 (2) (1) .dict 키를 해당 값의 값으로 올리고 함께 빠르게 곱하십시오.
이 작업은 수 백만 행의 데이터에 대해 수행해야합니다. 프로세스 속도를 높이는 방법에 대한 의견이 있으십니까? 나는 팬더 데이터 프레임의 맵 기능을 사용하여 데이터의 내 열에 이미 toTheExp
함수를 적용하고 있습니다. 이 단계는 여전히 꽤 느립니다. 현재 다음과 같은 것을 시도하고 있습니다 :
import ast
from numpy import array
from functools import reduce
import operator
def toTheExp(d):
return reduce(operator.mul, array(d.keys())**array(d.values()), 1)
toTheExp({2:3,4:5,6:7})
>>> 2293235712
좋은 솔루션! 네, 수백만 줄 이죠. 각각 작은 크기의 딕트가 들어 있습니다. 그래서 그 기능을 수백만 개의 dicts에 적용합니다. 수백만 항목의 공문서가 아닙니다. – JoeDanger
아, 알겠습니다. 그것은 더 의미가 있습니다. 글쎄,이 솔루션은 많은 속도 향상을 가져 오지 않을 것입니다. 그런 다음 많은 시간이 여러분의 행을 반복하는 데 소비되는 것을 보게 될 것입니다. 어떻게 든 사전에서 데이터를 가져와 전체 프로세스를 벡터화 할 수 있도록 모든 것을 하나의 거대한 배열로 옮기는 것에 대해 생각해 보겠습니다. – jme