Ještě než začnene ujistěte se že víte, jak to funguje s importem knihoven.
První zásadou, kterou si musíme osvojit je, že se vždy pracuje se seznamem (řadou) čísel.
Pracuje se s datovým typem numpy.array.
In [3]:
a = array([5,8,12,13,100,18,74])
print a
print "max:", a.max()
print "min: ", a.min()
print u"součet:", a.sum()
print u'dékla:', a.size
In [2]:
linspace(2,5,9)
Out[2]:
In [3]:
linspace(0,5,4)
Out[3]:
In [4]:
linspace(0,1,20)
Out[4]:
In [5]:
arange(5)
Out[5]:
In [6]:
arange(3,10)
Out[6]:
In [7]:
arange(10,20,0.2)
Out[7]:
In [8]:
zeros(5)
Out[8]:
In [9]:
ones(20)
Out[9]:
S datovým typpem numpy.array lze pracovat jako
s klasickým python senzamem,
ale je možné provádět i mnohem
pokročilejší operace.
In [10]:
t=linspace(0,10,11)
print t
In [11]:
print t[1:5]
In [12]:
print t[-1]
print t[-2]
print t[-3]
In [13]:
print t[5:-3]
Ve výřezech lze prvky i přeskakovat:
In [14]:
t=arange(0,100,1)
print t
In [15]:
print t[0:20:3]
In [16]:
print t[::9]
Výřez je možné použít i k přiřazení:
In [17]:
t[::3]=0
print t
In [18]:
t[20:]=7
print t
Pokud vás to zajímá víc, podívejte se na knihovnu numexpr.
To co bychom v čistém Pythonu museli zdlouhavě řešit podmíkami a vnořenými cykly je pro numpy.array hračka:
Pokud provedeme nějakou matematickou operaci, provádí se vždy s dvěma prvky, které jsou v seznamech na stejné pozici.
Například u sčítání se sečte první prvek s první, druhý s druhým, třetí s třetím atd.
In [19]:
a=array([1.,2.,3.,4.])
b=array([9.,8.,7.,6.])
print a
print b
print a+b
In [20]:
print a*b
print a/b
In [21]:
print a
print a+10
In [22]:
print b
print b*3
In [23]:
print a
print a**2
print a**3
In [17]:
x=linspace(0.1,4,20)
y=exp(x)/6.
z=log(x)
s=5*sin(x)
plot(x,y, 'x-',x,z, 'x-', x,s,'x-')
grid()
In [ ]: