2011-07-12 16 views
16

To może być całkiem banalne.Wywołanie funkcji statystycznych z Scipy

chcę wywołać funkcję spearmanr z scipy: (dane są tylko przykłady)

import scipy 
from numpy import * 

Len = [2,3,5,7,2] 
Pop = [5,2,6,3,2] 

a = array(Len) 
b = array(Pop) 

print scipy.stats.spearmanr(a,b) 

ten generuje błąd:

AttributeError: 'module' object has no attribute 'spearmanr' 

Co robię źle?

Dzięki

Odpowiedz

17

Stosować import scipy.stats. Wtedy to działa. Importowanie pakietu nie powoduje automatycznego importu wszystkich podpakietów/modułów. W takich przypadkach musisz to zrobić jawnie.

+2

Dlaczego jest to potrzebne, gdy można uzyskać dostęp do członków modułu 'os.path' podczas samodzielnego importowania' os'? Czy 'os' automatycznie importuje' os.path'? – JAB

+2

Tak, wygląda na to, że tak. To zależy od pakietu. –

+0

@ Space_C0wb0y hmm kiedy próbuję tego, to daje mi inny błąd ... "brak pasującej architektury w uniwersalnym opakowaniu" Czy mógłbyś opublikować całą poprawną modyfikację mojego kodu? – WillJones