What is the right way to import a package?

Grobu snailcoder at retrosite.invalid
Mon Nov 16 06:53:07 EST 2015


On 14/11/15 21:00, fl wrote:
> Hi,
>
> I want to use a code snippet found on-line. It has such content:
>
> from numpy import *
> dt = 0.1
> # Initialization of state matrices
> X = array([[0.0], [0.0], [0.1], [0.1]])
>
> # Measurement matrices
> Y = array([[X[0,0] + abs(randn(1)[0])], [X[1,0] + abs(randn(1)[0])]])
>
>
>
> When the above content is inside a .py document and running, there will be
>   an error:
>
> ---> 15 Y = array([[X[0,0] + abs(randn(1)[0])], [X[1,0] + abs(randn(1)[0])]])
>       16 #Y = ([[X[0,0]], [X[1,0] + 0]])
>
> NameError: name 'randn' is not defined
>
>
> But when I run the above line by line at the console (Canopy), there will be
> no error for the above line.
>
> My question is:
>
> The import and the following are wrong.
>
> X = array([[0.0], [0.0], [0.1], [0.1]])
>
> It should be:
>
> import numpy as np
> ...
> Y = np.array([[X[0,0] + abs(np.randn(1)[0])], [X[1,0] + abs(np.randn(1)[0])]])
>
> This looks like the code I once saw. But the file when running has such
>   error:
>
> ---> 15 Y = np.array([[X[0,0] + abs(np.randn(1)[0])], [X[1,0] + abs(np.randn(1)[0])]])
>
> AttributeError: 'module' object has no attribute 'randn'
>
> When it is run line by line at the console, it has the same error.
>
> It is strange that the same content has errors depends on inside a file, or
> at CLI console.
>
> What is missing I don't realize? Thanks,
>
>

You can try :
from numpy import *
from numpy.random import *

HTH,

- Grobu -




More information about the Python-list mailing list