我有下面的循环,我不能使用assign
或向量化它,因为我正在进一步修改几个对象和函数。但是,大熊猫选择占用了大部分执行时间。有没有办法规避这个?
if date in data[instrument].index:
row = data[instrument].ix[date]
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)
修改:事实证明,dict.__getitem__
比使用pandas的上述方法快得多。因此,我可以使用以下内容转换所有内容:
dict[(date, instrument)] = pd.Series.to_dict(data[instrument].ix[date]).
我只需要设置一次,我将重复使用多次的其余代码现在大约快54倍。