Numpy
Numpy progettato per gestire array e matrici
Uso di NumPy
Numerical Python: è una libreria fondamentale per il calcolo scientifico in Python, progettata per gestire grandi array e matrici di dati numerici.NumPy offre funzioni per effettuare operazioni matematiche complesse in modo efficiente.
Creazione di Array
import numpy as np
# Array 1D
a = np.array([1, 2, 3, 4, 5])
print("Array 1D:", a)
# Array 2D
b = np.array([[1, 2, 3], [4, 5, 6]])
print("Array 2D:\n", b)
# Array di zeri
c = np.zeros((2, 3))
print("Array di zeri:\n", c)
# Array di uno
d = np.ones((3, 4))
print("Array di uno:\n", d)
# Array vuoto (non inizializzato)
e = np.empty((2, 3))
print("Array vuoto:\n", e)
# Array con intervallo
f = np.arange(0, 10, 2)
print("Array con intervallo:", f)
# Array con intervallo di numeri (linspace)
g = np.linspace(0, 1, 5)
print("Array linspace:", g)
Operazioni tra Array
# Operazioni element-wise
h = np.array([1, 2, 3])
i = np.array([4, 5, 6])
# Addizione
print("Addizione:", h + i)
# Sottrazione
print("Sottrazione:", h - i)
# Moltiplicazione
print("Moltiplicazione:", h * i)
# Divisione
print("Divisione:", h / i)
# Radice quadrata
print("Radice quadrata:", np.sqrt(h))
Lettura e Modifica di Array
# Lettura di un elemento
print("Elemento a[1]:", a[1])
# Modifica di un elemento
a[1] = 10
print("Array modificato:", a)
# Slicing
print("Slicing a[1:4]:", a[1:4])
# Modifica di una sezione
a[1:4] = [20, 30, 40]
print("Array modificato con slicing:", a)
Filtrare i Dati
# Condizione: elementi maggiori di 3
condition = a > 3
print("Condizione (a > 3):", condition)
# Filtrare i dati
filtered_data = a[condition]
print("Dati filtrati:", filtered_data)
Uso di `where`
# Array di esempio
a = np.array([1, 2, 3, 4, 5])
# np.where: se la condizione è vera, prendere il valore dall'array 'a', altrimenti prendere -1
result = np.where(a > 3, a, -1)
print("np.where con condizione (a > 3):", result)
# np.where con array 2D
b = np.array([[1, 2, 3], [4, 5, 6]])
result2 = np.where(b > 3, b, -1)
print("np.where con array 2D:\n", result2)