我試圖採取字典和(1)提高每個關鍵的價值的力量,和(2)乘以(1)的結果, 。提高字典鍵的價值的力量,並迅速放在一起
這需要完成數百萬行的數據。關於如何加快這個過程的任何想法?我正在使用熊貓數據框的地圖功能將函數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
很好的解決方案!是的,它有數百萬行,每行都包含一個小字體的字典。所以它將功能應用到數百萬個字符。不是幾百萬詞條的詞典 – JoeDanger 2014-12-02 03:19:59
啊,我明白了。這更有意義。那麼恐怕這個解決方案不會爲你提供很大的加速,然後,看到很多時間都會花在迭代你的行上。我會考慮以某種方式從數據字典中獲取數據,並將所有數據都放入一個大的數組中,這樣整個過程就可以被矢量化。 – jme 2014-12-02 03:24:09