appunti3s:numpy
This is an old revision of the document!
indice < linguaggio_python
numpy
Il python (classico) dispone di oggetti array.array (monodimensionali)
numpy permette di usare un nuovo tipo di array
numpy.ndarray
noti anche con il termine “array” (cosa che potrebbe causare confusione se non si usasse il nome del modulo numpy come prefisso)
Vediamo alcuni esempi per definire un array
- 1.py
import numpy as np a = [[ 1., 0., 0.], [ 0., 1., 2.]] b = np.array([1.2, 3.5, 5.1]) c = np.array( [ [1.0,2.0], [3.0,4.0] ], dtype=complex ) d = np.zeros((3, 4)) e = np.ones((3, 4))
Questa istruzione preleva solo alcuni valori, tutti e tre della seconda colonna.
c[0:2, 1] c[:,1] # equivalente
Iterazione
usando un indice si stampano le righe
>>> for riga in c: ... print(row)
usando flat si stampano i singoli elementi
>>> for elemento in c.flat: ... print(element)
Esempio in cui si vuole valutare una funzione
- 2.py
from numpy import pi x = np.linspace( 0, 2*pi, 100 ) # useful to evaluate function at lots of points f = np.sin(x) b = np.fromfunction(f,(100,0),dtype=int)
Esempio di calcolo
>>> b = np.array([1.2, 3.5, 5.1]) >>> b**2 array([ 1.44, 12.25, 26.01])
Prodotto vettoriale
>>> d @ e
Prodotto scalare
operazioni scalari
b.sum() # somma tutti gli elementi b.sum(axis=0) # somma in colonna b.sum(axis=1) # somma in righe
Randomizzare
Anche numpy ha il proprio generatore di numeri causali
- 4.py
import numpy.random as np_r rng = np_r.default_rng() vals = rng.standard_normal(10) more_vals = rng.standard_normal(10)
Copia e vista
Non esistono puntatori, ma si usano!
>>> a = np.array([2,3,4]) >>> b = a # b punta ad a, esiste un solo array >>> b is a True >>> print(id(a)) >>> print(id(b))
appunti3s/numpy.1594277325.txt.gz · Last modified: 2020/07/09 08:48 by profpro