有没有办法加速熊猫getitem,getitem_axis和get_label?

时间:2017-08-20 15:37:39

标签: python pandas loops

我有下面的循环,我不能使用assign或向量化它,因为我正在进一步修改几个对象和函数。但是,大熊猫选择占用了大部分执行时间。有没有办法规避这个?

if date in data[instrument].index:   
    row = data[instrument].ix[date] 
  • nb调用tottime percall cumtime
  • 34124 0.04444 1.302e-06 7.085 0.0002076 indexing.py:108(_getitem)

  • 34124 0.08395 2.46e-06 7.029 0.000206 indexing.py:1044(_getitem_axis)

  • 34124 0.0316 9.26e-07 6.242 0.0001829 indexing.py:123(_get_label)
  • 34124 0.258 7.56e-06 6.207 0.0001819 generic.py:1827(xs)

修改:事实证明,dict.__getitem__比使用pandas的上述方法快得多。因此,我可以使用以下内容转换所有内容:

dict[(date, instrument)] = pd.Series.to_dict(data[instrument].ix[date]). 

我只需要设置一次,我将重复使用多次的其余代码现在大约快54倍。

0 个答案:

没有答案