In [4]:
import numpy as np
x = np.array([1,2,3,4,5])
#Ausgabe des Arrays, des Speicherortes und der Länge des arrays
print(x,id(x),len(x))
In [6]:
y = np.array([6,8,3,2,5,4,7,6])
print(y)
print(len(y))
print(y.sum())
print(y.mean())
In [7]:
import numpy as np
x=['1','2','3','7','8','9']
xi = np.array(x,'int')
xf = np.array(x,'float')
xs = np.array(x,'str')
print(xi)
print(xf)
print(xs)
#print(xi,xf,xs,sep='\n')#python 3.0
In [8]:
x = np.array([13,24,21.2,17.6,21.7],'float')
print(x.sum(),x.mean(),x.std(), x.cumsum())
In [9]:
x=[[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25]]
ax=np.array(x,float)
print(ax)
In [10]:
ax[1,3] #indexing
Out[10]:
In [11]:
ax[1:3,2:4]
#ax[:,2:]
Out[11]:
In [12]:
print(ax.shape)
ax.reshape(9,2)
#ax.reshape(10,3)
Out[12]:
In [13]:
ax = np.arange(10)
print(ax)
ay = np.array([np.arange(10),np.arange(10)])
print(ay)
In [14]:
ax = np.ones(10)
print(ax)
In [15]:
ax = np.arange(10)**2
print(ax)
In [16]:
np.identity(10)
Out[16]:
In [18]:
ax = np.arange(10)
ay = np.array([ax,ax])
#Skalar multiplikation
ay*2
Out[18]:
In [19]:
np.dot(ay,ay.reshape(10,2)) #Dot product
Out[19]:
In [ ]:
n=10
ax = np.array([np.arange(n)**2,np.arange(n)**3])
ay = ax.transpose()
#print(ax)
#print(ay)
np.dot(ax,ay)
In [ ]:
def dotproduct(n):
ax = np.array([np.arange(n)**2,np.arange(n)**3])
ay = ax.transpose()
import datetime
start = datetime.datetime.now()
np.dot(ax,ay)
end = datetime.datetime.now()
return end-start
dotproduct(10)
In [ ]:
def dot_product_lists(n):
x = [x**2 for x in range(n)]
y = [x**3 for x in range(n)]
ax = [x,y]
ay = [list(i) for i in zip(*ax)]
import datetime
start = datetime.datetime.now()
[[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*ay)] for X_row in ax]
end = datetime.datetime.now()
return end-start
dot_product_lists(10000)
In [ ]:
for n in [10,100,1000,10000]:
numpy_result = dotproduct(n)
list_result = dot_product_lists(n)
print(n,numpy_result,list_result,sep='\t')
In [21]:
x=[[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25]]
ax=np.array(x,float)
np.where(ax%2==0,1,0)
Out[21]:
In [22]:
#linalg, a linear algebra module
#functions dealing with polynomials, differentials, etc
In [23]:
import scipy
scipy.nanmean(x)
Out[23]:
In [24]:
np.random.normal(size=10)
#np.random.normal(size=(100,100))
#np.random.exponential()
#np.random.exponential(1.0,size=(6,3))
#np.random.randint(-10,10,size=(9,9))
Out[24]:
In [25]:
import numpy as np
a=np.arange(120).reshape(6,4,5)
print(a)
In [26]:
a[2,3,4]
Out[26]:
In [27]:
a[0,0,0]
Out[27]:
In [28]:
a[5,3,4]
Out[28]:
Welches Ergebnis liefert a[:, 3, 4] in diesem array ?
In [29]:
a[:,3,4]
Out[29]:
Welches Ergebnis liefert a[:, :, 4] in diesem array ?
In [30]:
a[:,:,4]
Out[30]:
Welches Ergebnis liefert a[5, 1:, 1:] in diesem array ?
In [31]:
a[5,1:,1:]
Out[31]:
Füllen Sie eine vergleichbares array mit normalverteilten Zufallszahlen (mu = 0, sigma =1) (ohne seed)
Was liefert s[3,:2,:3] zurück ?
In [33]:
mu = 0
sigma = 1
s = np.random.normal(mu, sigma, 120)
s = s.reshape(6,4,5)
print(s)
In [34]:
print(s[3,:2,:3])
Füllen Sie eine vergleichbares array mit normalverteilten Zufallszahlen (mu = 0, sigma =1) (seed = 1000) Was liefert s[3,:2,:3] zurück ?
In [35]:
np.random.seed(10000)
mu = 0
sigma = 1
s = np.random.normal(mu, sigma, 120)
s = s.reshape(6,4,5)
print(s)
In [36]:
s[3,:2,:3]
Out[36]:
In [37]:
np.random.seed(10000)
mu = 0
sigma = 1
s = np.random.normal(mu, sigma, 120)
s = s.reshape(6,4,5)
print(s[3,:2,:3])
In [ ]: