Keyerror Python Dict 从错误交易应用程序中引发 KeyError(key)

问题描述

我正在打印字典,得到的输出如下:

opening_range_bars = minute_bars.loc[opening_range_mask]

print(opening_range_bars)
                       open     high      low  close  volume
time                                                             
2021-02-16 00:00:00-05:00  51.16  51.7500  50.4850  51.04   99823
2021-02-17 00:00:00-05:00  50.73  51.3921  49.7025  50.91  149788
2021-02-18 00:00:00-05:00  50.45  51.1200  49.7650  50.69  133951
2021-02-19 00:00:00-05:00  50.64  51.4600  50.6400  51.44  133578
                              CMI                                 
                             open     high     low   close  volume
time                                                              
2021-02-16 00:00:00-05:00  244.47  247.565  243.26  244.52  726380
2021-02-17 00:00:00-05:00  244.23  245.810  238.85  241.81  719238
2021-02-18 00:00:00-05:00  239.50  241.693  237.72  241.67  878032
2021-02-19 00:00:00-05:00  243.24  248.550  242.34  246.89  895406

当我打印时:

for key in opening_range_bars.keys():
        print(opening_range_bars.keys())

我明白了:

MultiIndex([('CMI','open'),('CMI','high'),'low'),'close'),'volume')],)
MultiIndex([('CMI',

但如果我想参考“低”列:

opening_range_low = opening_range_bars['low'].min()
print(opening_range_low)

我收到密钥错误

raise KeyError(key) from err
KeyError: 'low'

提前感谢您的帮助。

解决方法

请尝试:

opening_range_low = opening_range_bars.loc[:,[('CMI','low')]].min()