mi piacerebbe per calcolare la matrice "minima cumulativa" - in pratica, il valore minimo di un array fino a ciascun indice, quali:Calcolo minima cumulativa con array NumPy
import numpy as np
nums = np.array([5.,3.,4.,2.,1.,1.,2.,0.])
cumulative_min = np.zeros(nums.size, dtype=float)
for i,num in enumerate(nums):
cumulative_min[i] = np.min(nums[0:i+1])
Questo funziona (restituisce la matrice corretta ([5., 3., 3., 2., 1., 1., 1., 0.]) ), ma mi piacerebbe evitare il ciclo for se possibile. Ho pensato che potrebbe essere più veloce costruire un array 2-d e usare la funzione np.amin(), ma avevo anche bisogno di un loop per quello.
Si potrebbe anche usare l'infinito per i valori nel triangolo superiore, piuttosto che 'nums.max()'. – Blckknght
@Blckknght Provato, non ha funzionato a prima vista, quindi ho preso il massimo ... Ho provato di nuovo e infinity cambierebbe la parte '0' di' B' in 'NaN' – koffein
nice. Non conoscevo le funzioni del triangolo, molto utile. –