Używam PyCharm (1.5.4) jako mojego IDE Pythona na MacOS 10.6.4. Piszę z jakimś kodem do manipulowania danymi o cenach akcji. W ramach tego chcę zaimportować dane o cenach z Yahoo przy użyciu funkcji DataReader dołączonej do Pandas 0.6.0. Kod jest następująco:PyCharm (1.5.4) i Pandy 0.6.0 - ImportError: Brak modułu o nazwie dane
http://www.statalgo.com/2011/09/08/pandas-getting-financial-data-from-yahoo-fred-etc/
from pandas import ols, DataFrame
from pandas.stats.moments import rolling_std
from pandas.io.data import DataReader
import datetime
sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1))
sp500_returns = sp500["adj clos"].shift(-250)/sp500["adj clos"] - 1
gdp = DataReader("GDP", "fred", start=datetime.datetime(1990, 1, 1))["value"]
gdp_returns = (gdp/gdp.shift(1) - 1)
gdp_std = rolling_std(gdp_returns, 10)
gdp_standard = gdp_returns/gdp_std
gdp_on_sp = ols(y=sp500_returns, x=DataFrame({"gdp": gdp_standard}))
sp500.plot()
gdp.plot()
Kiedy uruchomić kod pojawia się następujący błąd:
Traceback (most recent call last):
File "/Users/MyName/PycharmProjects/test/mytest", line 3, in <module>
from pandas.io.data import DataReader
ImportError: No module named data
widzę, że pycharm nie wie jak niezdecydowania odniesienia „danych ".
Moje ścieżki python są ustawione w następujący sposób:
import sys
from pprint import pprint as pp
pp(sys.path)
['/private/var/folders/st/stQUFIfOG28bmpY9dCspTk+++TI/-Tmp-',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/scikits.statsmodels-0.3.1-py2.7.egg',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python27.zip',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-darwin',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-mac',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/plat-mac/lib-scriptpackages',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-tk',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-old',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/lib-dynload',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages',
'/Library/Frameworks/EPD64.framework/Versions/7.1/lib/python2.7/site-packages/PIL']
Co jest zastanawiające jest to, że można rozwiązać pandas.stats.moments pycharm ale nie może rozwiązać pandas.io.data. Sprawdziłem, czy oba katalogi mają plik __init__.py
(pliki są puste).
W tym momencie nie jestem pewien, jak posunąć się do przodu. Bardzo doceniam pomoc.
UPDATE:
$ cat __egginst__.txt
# egginst metadata
egg_name = 'pandas-0.3.0-3.egg'
prefix = '/Library/Frameworks/EPD64.framework/Versions/7.1'
installed_size = 1454562
rel_files = [
'EGG-INFO/pandas/__egginst__.txt',
'lib/python2.7/site-packages/pandas-0.3.0-3.egg-info',
Sprawdź, czy importuje odpowiednią wersję pand, wykonując 'import pandy 'i' pandas .__ version__'. –
@ThomasK - Przetarłem wersję 0.3 przed instalacją pandy 0.6.0. Właśnie zaznaczyłem plik __egginst __. Txt w folderze EGG-INFO i podano informacje o poprzedniej wersji zamiast 0.6.0. Zobacz wycinanie i wklejanie danych wyjściowych tego pliku w zaktualizowanym oryginalnym wpisie. – codingknob
Miałem na myśli plik '__egginst __. Txt'. Czy jest to tak proste, jak edycja tego pliku i zmiana katalogu wersji i katalogu? Zastanawiam się, dlaczego ten plik nie był aktualizowany, gdy zainstalowałem pandę 0.6.0. – codingknob