Voglio creare un CDF con NumPy, il mio codice è il seguente:Come ottenere la funzione di distribuzione cumulativa con NumPy?
histo = np.zeros(4096, dtype = np.int32)
for x in range(0, width):
for y in range(0, height):
histo[data[x][y]] += 1
q = 0
cdf = list()
for i in histo:
q = q + i
cdf.append(q)
Sto camminando dalla matrice, ma impiegano molto tempo l'esecuzione del programma. C'è una funzione costruita con questa funzione, no?
Tuttavia, questo introduce un passo di binning che non sarebbe necessario per una distribuzione cumulativa. –
"Questa parola chiave,' normed' è deprecata in Numpy 1.6 a causa di un comportamento confuso/buggy, verrà rimossa in Numpy 2.0. "C'è un bug nel codice se bin non è in' [0,1] '. Aggiungi x = np.cumsum (hist); x = (x - x.min())/x.ptp() – Shaowu