2013-08-18 11 views
9

submodules nie są niejawnie importowane i musi być wyraźnie zadeklarowane, ale robię to wyraźny wezwanie do pd.Series modułem, prawda?AttributeError: obiekt modułu nie ma atrybutu "Series". Kod działa w ipython

Bez względu na to, czy import pandas as pd nie powinien wywołać pd.Series? Poniższy kod działa bezbłędnie w iPython, ale kończy się niepowodzeniem po wykonaniu ze skryptu.

#!/usr/bin/env/python2.7 
# -*- coding: utf-8 -*- 
import pandas as pd 
import numpy as np 

counts = pd.Series([632, 1638, 569, 115], index=["Firmicutes", "Proteobacteria", "Actinobacteria", "Bacteroidetes"]) 

Wyniki w:

[email protected] ~/src/stats $ python pandas.py 
Traceback (most recent call last): 
    File "pandas.py", line 3, in <module> 
    import pandas as pd 
    File "/home/tyler/src/stats/pandas.py", line 6, in <module> 
    counts = pd.Series([632, 1638, 569, 115], index=["Firmicutes", "Proteobacteria", "Actinobacteria", "Bacteroidetes"]) 
AttributeError: 'module' object has no attribute 'Series' 

Gdzie ja poszło nie tak?

Odpowiedz

19

Problem polega na tym, że nazwałaś swój moduł pandas. Nazwij to czymś innym. I nie zapomnij usunąć pandas.pyc wygenerowanego na import pandas, bo inaczej to się nie powiedzie.

+1

Zauważ, że to tylko wydaje się być problemem w Pythonie 2.7.x nie 3.x. –

-1

seria w ipython nie python

try 

    $ ipython 
    import pandas as pd 
    import numpy as np 

    counts = pd.Series([632, 1638, 569, 115], index=["Firmicutes", "Proteobacteria", "Actinobacteria", "Bacteroidetes"]) 
+0

Witamy w stackoverflow! Odpowiedzi tylko na kod są pomocne, ale dodanie wyjaśnienia pomoże jeszcze bardziej. –