我有一些Daily OHLC数据,我正在使用下面的函数重新采样到Weekly,每日DataFrame列是[u'Open',u'High',u'Low',u'Close',u'Volume' ]
def loadWeekly(symbol):
df = loadDaily(symbol)
ohlc_dict = {
'Open':'first',
'High':'max',
'Low':'min',
'Close':'last',
'Volume':'sum'
}
return df.resample('W-Fri', how=ohlc_dict)
当我调用loadWeekly函数时,返回的DataFrame列是[u'High',u'Close',u'Volume',u'Open',u'Low']
知道造成这种情况的原因以及如何保持原始列顺序。
答案 0 :(得分:2)
这种情况正在发生,因为python词典是无序的。您可以使用OrderedDict,但最简单的方法就是重新排序结果,就像这样。
order = df.columns
return df.resample('W-Fri', how=ohlc_dict)[order]