0

我正在尝试将 csv 转换为 pandas 中的面板,如下所示,但 jupyter 保持警报“ValueError:面板构造函数未正确调用!”,尽管我已按照https://blog.quantinsti.com/中的指南进行操作导入-csv-data-zipline-backtesting/

我的 csv 文件具有以下结构:

data = pd.read_csv('.../MWG.csv', index_col=0, parse_dates=['Date'])
data.fillna(method='ffill')

     Date       Open        High        Low         Close       Volume
Symbol                      
MWG 2019-12-12  113.0000    113.5000    112.7000    113.4000    366190
MWG 2019-12-11  110.5000    113.0000    110.3000    113.0000    314710
MWG 2019-12-10  110.9000    111.4000    110.0000    111.0000    412000
MWG 2019-12-09  110.8000    111.6000    110.0000    110.9000    526010
MWG 2019-12-06  110.6000    111.0000    110.0000    110.8000    468980
MWG 2019-12-05  113.2000    113.5000    110.6000    110.6000    544700
MWG 2019-12-04  109.0000    113.0000    108.6000    113.0000    574630

我的代码是:

panel = pd.Panel(data)
panel.minor_axis = ['Open', 'High', 'Low', 'Close', 'Volume']
panel.major_axis = panel.major_axis.tz_localize(pytz.utc)

警报如下:

ValueError: Panel constructor not properly called!

请帮我纠正这个问题,这样我就可以输入 Zipline 来运行策略。

4

1 回答 1

0

您可以使用panelforndarraydict of dataframes. 你可以试试这个

>>> data = {}
>>> data['MGW'] = pd.read_csv('.../MWG.csv', index_col=0, parse_dates=['Date'])
>>> panel = pd.Panel(data)

于 2020-01-07T10:59:17.543 回答