AttributeError: у объекта 'module' нет атрибута 'TimeSeries' после python Validation.py

Только что начал вычислительное инвестирование от Такера Балча. Я использую virtualbox и установил Ubuntu. После установки QSTK я запустил python Validation.py (Шаг 7). Я продолжаю получать:

AttributeError: у объекта 'module' нет атрибута 'TimeSeries'

Есть много похожих вопросов, поэтому я считаю, что проблема заключается в использовании того же имени, что и файл где-то в коде. Мне было интересно, есть ли у кого-нибудь решение, специфичное для этого класса и QSTK.

Полная ошибка:

Traceback (most recent call last):
 File "Validation.py", line 122 in <module>
  import QSTK.qstkutil.tsutil as tsu
 File "usr/local/lib/python2.7/dist-packages/QSTK-0.2.8 py2.7.egg/QSTK/qstkutil/tsutil.py", line 19, in <module>
  from QSTK.qstkutil import qsdateutil
 File "usr/local/lib/python2.7/dist-packages/QSTK-0.2.8-py2.7.egg/QSTK/qstkutil/qsdateutil.py", line 38, in <module>
  GTS_DATES = _cache_dates()
 File "usr/local/lib/python2.7/dist-packages/QSTK-0.2.8-py2.7.egg/QSTK/qstkutil/qsdateutil.py", line 36, in _cache_dates
  return pd.TimeSeries(index=dates, data=dates) 
AttributeError: 'module' object has no attribute 'TimeSeries' 

2 ответа

Я тоже столкнулся с этой проблемой. Это вызвано пандой lib. Вы можете попасть в путь (мой путь к файлу /Library/Python/2.7/site-packages/QSTK/qstkutil), где находится qstkutil.py в QSTK. Затем измените все "TimeSeries" этого файла на "Series".

Вы также можете получить некоторые идеи здесь ( https://github.com/QuantSoftware/QuantSoftwareToolkit/issues/73)

Корли на месте. Вы можете решить эту проблему, изменив 2 вхождения "TimeSeries" на "Series" в /usr/local/lib/python2.7/dist-packages/QSTK-0.2.8-py2.7.egg/QSTK/qstkutil/qsdateutil.py. "TimeSeries" также появляется один раз в /usr/local/lib/python2.7/dist-packages/QSTK-0.2.8-py2.7.egg/QSTK/qstkutil/tsutil.py, но я еще не столкнулся с ошибкой из-за этого.

Изменения TimeSeries в Series исправляет проблему для меня.

Кажется, что

import pandas as pd; 
pd.TimeSeries = pd.Series        

должно работать, но не для меня.

Другие вопросы по тегам