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

Zadnja sprememba: petek, 13. januar 2023, 09.48