Kilka przydatnych komend:
Komenda NumPy | Opis |
---|---|
a.ndim | zwraca liczbę wymiarów |
a.shape | zwraca liczbę wierszy i kolumn |
arange(start,stop,step) | zwraca wektor sekwencji |
linspace(start,stop,steps) | zwraca sekwencję o równych odstępach z określonego przedziału |
dot(a,b) | mnożenie macierzy |
vstack([a,b]) | pionowo skleja tablice a i b |
hstack([a,b]) | poziomo skleja tablice a i b |
where(a>x) | zwraca elementy tablicy spełniające podany warunek |
In [40]:
a = np.array([3,4,5])
b = np.ones(3)
a - b
Out[40]:
Zaskakujące może być działanie operatora *
, który nie oblicza iloczynu macierzy. Odpowiada za to funkcja dot
.
In [42]:
a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
a
Out[42]:
In [43]:
b
Out[43]:
In [44]:
a * b
Out[44]:
In [45]:
np.dot(a,b)
Out[45]:
Inne operacje dodawania i mnożenia
In [47]:
a = np.zeros((2,2),dtype='float')
a += 5
a
Out[47]:
In [48]:
a *= 5
a
Out[48]:
In [49]:
a + a
Out[49]:
Sklejanie tablic
In [50]:
a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.array([7,8,9])
np.hstack([a,b,c])
Out[50]:
In [51]:
np.vstack([a,b,c])
Out[51]:
Typowe funkcje matematyczne
In [52]:
x = np.arange(1,5)
np.sqrt(x) * np.pi
Out[52]:
In [53]:
2**4
Out[53]:
In [54]:
np.power(2,4)
Out[54]:
In [55]:
np.log(np.e)
Out[55]:
In [56]:
x = np.arange(5)
x.max() - x.min()
Out[56]:
In [57]:
a = np.arange(10)
a[2:4]
Out[57]:
In [58]:
a[:10:2]
Out[58]:
In [59]:
a[::-1]
Out[59]:
Wielowmiarowy tablice mają po jednym indeksie na wymiar
In [60]:
x = np.arange(12).reshape(3,4)
x
Out[60]:
In [61]:
x[2,3]
Out[61]:
In [62]:
x[:,1]
Out[62]:
In [63]:
x[1,:]
Out[63]:
In [64]:
x[1:3,:]
Out[64]:
In [65]:
a = np.array([1,1,1,2,2,2,3,3,3])
a[a>1]
Out[65]:
In [66]:
a[a==3]
Out[66]:
In [67]:
np.where(a<3)
Out[67]:
In [68]:
np.where(a<3)[0]
Out[68]:
In [69]:
np.where(a>9)
Out[69]:
In [70]:
for row in x:
print row
In [71]:
for element in x.flat:
print element
In [72]:
np.random.randint(0,10,5)
Out[72]:
In [73]:
np.random.normal(0,1,5)
Out[73]:
In [74]:
np.random.uniform(0,2,5)
Out[74]: