Naloge - Numpy
Vse funkcije napiši brez uporabe zank - uporabi zgolj funkcionalnosti NumPy-a. Kjer je možno, uporabi eno od funkcij, ki si jih že napisal/a.
Naključna matrika
Napiši funkcijo nakljucna_matrika(velikost)
, ki vrne matriko (Numpy array) dane velikosti. Matrika naj vsebuje naključna cela števila z vrednostmi med 0 in 5. Na primer, klic nakljucna_matrika((3, 3))
vrne matriko s tremi vrsticami in tremi stolpci.
Rešitev
def nakljucna_matrika(velikost):
return np.random.randint(6, size=velikost)
Povprečje
Napiši funkcijo povprecje(matrika)
, ki vrne povprečno vrednost v dani matriki.
Rešitev
def povprecje(matrika):
return np.mean(matrika)
Napiši še funkcijo povprecje_stolpcev(matrika)
, ki vrne povprečja vseh stolpcev v dvodimenzionalni matriki. Vrne naj enodimenzionalni matriko, kjer je vsak element povprečje enega stolpca.
Rešitev
def povprecje_stolpcev(matrika):
return np.mean(matrika, axis=0)
Standardni odklon
Napiši funkcijo std_stolpcev(matrika)
, ki vrne standardni odklon vseh stolpcev v matriki. Vrne naj enodimenzionalni seznam, kjer je vsak element standardni odklon enega stolpca.
Za računanje standardnega odklona uporabi funkcijo np.std
. Če pa si za malo večji izziv, lahko napišeš to funkcijo tudi na roke.
Rešitev
def std_stolpcev(matrika):
return np.std(matrika, axis=0)
Stolpec
Napiši funkcijo nti_stolpec(matrika, n)
, ki vrne n-ti stolpec v matriki. Na primer:
>>> matrika = np.array([[1, 2, 3], [4, 5, 6]])
>>> nti_stolpec(matrika, 1)
array([2, 5])
Rešitev
def nti_stolpec(matrika, n):
return matrika[:, n]
Oddaljeni
Napiši funkcijo oddaljeni(matrika)
, ki vrne vrstice matrike, kjer je vrednost prvega elementa od povprečja stolpca oddaljena za več kot 1,5. Na primer, v primeru matrike
array([[1, 2, 3]
[5, 3, 4]
[1, 4, 5]])
je povprečje prvega stolpca enaka 2,33 in vrstica, ki je od tega povprečja oddaljena za več kot 1,5, je vrstica z indeksom 1: [5, 3, 4].
Rešitev
def oddaljeni(matrika):
povprecja = povprecje_stolpcev(matrika)
return matrika[abs(nti_stolpec(matrika, 0) - povprecja[0]) > 1.5]
Napiši še funkcijo oddaljeni_std(matrika)
, ki vrne vrstice matrike, kjer je vrednost prvega elementa od povprečja stolpca oddaljena za več kot standardni odklon tega stolpca. Namig: ta funkcija je podobna prejšnji.
Rešitev
def oddaljeni_std(matrika):
povprecja = povprecje_stolpcev(matrika)
stds = std_stolpcev(matrika)
return matrika[abs(nti_stolpec(matrika, 0) - povprecja[0]) > stds[0]]
Zamenjaj
Napiši funkcijo zamenjaj(matrika, n)
, ki vse vrednosti v matriki, ki so večje od števila n
, zamenja s številom n
.
Rešitev
def zamenjaj(matrika, n):
matrika[matrika > n] = n