Scipy maskerte matriser

Scipy maskerte matriser

Når du vil utføre noen statistisk eller vitenskapelig beregning i Python, løper du alltid mot Scipy Library. Scipy -biblioteket er et av de mest brukte Python -bibliotekene, da det gir en passende funksjon for alle slags matematiske, statistiske og vitenskapelige beregninger. Det er ikke bare et bibliotek, men et helt økosystem av biblioteker som er kombinert sammen, slik at du kan utføre enhver form for enkel eller kompleks oppgave enkelt og raskt. Denne guiden lar deg utforske scipy -funksjonene som kan brukes med maskerte matriser.

Hva er en maskert matrise?

En maskert matrise er en matrise som kan ha ugyldige eller manglende oppføringer. I forskjellige forekomster kan datasettene eller matriser bli besatt eller ufullstendige av tilstedeværelsen av ugyldige data. For eksempel registrerte en sensor ugyldige data på grunn av flere årsaker, eller den kan ha unnlatt å registrere noen data. Nå har vi enten et tomt datasett eller et datasett fullt av ugyldige oppføringer. Den enkle måten å håndtere slike datasett er å maskere disse matriser. Numpy -biblioteket gir en enkel maskeringsfunksjon for å maskere slike typer matriser. Selve scipy -biblioteket gir ingen maskeringsfunksjon som kan brukes til å maskere et datasett. Imidlertid gir det mange funksjoner som skal brukes med maske -matriser.

I denne guiden vil vi først guide deg om hvordan du kan bruke Numpy -biblioteket til å maskere et datasett. Deretter vil vi demonstrere hvordan funksjonene til Scipy -biblioteket kan brukes med maskerte matriser. I Numpy er den maskerte matrisen en kombinasjon av en standard ndarray og en maske. Maskverdien kan enten være nomask eller en liste over booleanere som spesifiserer maskeringen for hver verdi i datasettet. Hvis du for eksempel spesifiserer Nomask for maskeverdien, betyr det at det ikke er noen ugyldig verdi i datasettet. Selv om du spesifiserer en boolsk matrise for datasettet, bestemmer hver verdi den gyldige eller ugyldige verdien tilknyttet det gitte datasettet. Hvis maskeverdien er falsk, er den tilsvarende verdien i datasettet gyldig, så den vil ikke bli maskert. Hvis maskeverdien er sann, er den tilsvarende verdien ugyldig, så den vil bli maskert. La oss nå se et eksempel for å ha en klar forståelse.

Eksempel 1:

I dette eksemplet vil vi veilede deg om hvordan du maskerer en matrise med Numpy Masking -funksjonen. Vi vil utforske hvordan “numpy.MA ”-funksjon fungerer i et program for å maskere et gitt datasett. Tenk på den gitte prøvekoden:

Importer numpy som NP
Importer numpy.ma som ma
data = np.Array ([2, 5, 8, -9, -7])
maske = ma.Masked_Array (Data, Mask = [0, 0, 0, 1, 1],
dtype = np.int8)
Print ("The Masked Array er: \ n", maske)
print ("\ n")
MASK_NA = NP.ma.fylt (maske.astype (float), np.nan)
Print ("erstattet med Nan: \ n", Mask_na)

Først importeres Numpy -biblioteket til programmet for å bruke matrisen og MA -funksjonene. Matrisen er deklarert ved hjelp av NP.Array () -funksjon. Deretter ma.Masked_Array () brukes til å maskere matrisen. Deretter bruker vi NP.ma.fylt () -funksjon for å erstatte de ugyldige verdiene med NAN -verdier. La oss nå se på følgende resultat:

Eksempel 2:

Siden vi forstår hvordan Numpy -funksjoner brukes til å maskere et datasett, la oss se hvordan vi bruker scipy -funksjonene på den maskerte matrisen for å utføre beregningene i henhold til våre krav. I dette eksemplet vil vi maskere en matrise med numpy funksjoner og bruke en scipy -funksjon med de maskerte matriser. Tenk på følgende prøvekode:

Importer numpy som NP
Importer numpy.ma som ma
Fra scipy.statistikk.mstats import beskriver
data = np.Array ([2, 5, 8, -9, -7])
maske = ma.Masked_Array (Data, Mask = [0, 0, 0, 1, 1],
dtype = np.int8)
Print ("The Masked Array er: \ n", maske)
print ("\ n")
Mask_na = Beskriv (maske)
Print ("Beskrivelsen av Array: \ n", Mask_na)

Numpy -biblioteket importeres til programmet siden vi må bruke MA.Masked_Array () -funksjonen for å maskere datasettet. Scipy -biblioteket, dens statistikkpakke og MSTATS -klassen importeres til programmet for å bruke "beskriv" -funksjonen. "Beskriv" -funksjonen brukes til å oppnå den statistiske beskrivelsen av den spesifiserte matrisen eller datasettet. Syntaksen til beskrivelsen () -funksjonen er som følger:

"Array" -parameteren tar inndataene. "Axis" -parameteren brukes til å definere aksen som skal brukes til beskrivelse. "DDOF" -parameteren brukes til å finne frihetsgraden. Og "skjevhet" -parameteren brukes til å definere den statistiske skjevheten. La oss nå se utdataene fra beskrivelsesfunksjonen i følgende utdrag:

Eksempel 3:

La oss bruke en annen scipy -funksjon på den maskerte matrisen for å forstå funksjonen til funksjonen med maskerte matriser. I dette eksemplet vil vi vise deg bruken av modusfunksjonen sammen med den maskerte matrisen. Tenk på følgende prøvekode:

Importer numpy som NP
Importer numpy.ma som ma
Fra scipy.Statistikk importerer mstats
data = np.Array ([2, 5, 8, -9, -7])
maske = ma.Masked_Array (Data, Mask = [0, 0, 0, 1, 1],
dtype = np.int8)
Print ("The Masked Array er: \ n", maske)
print ("\ n")
MASK_NA = MSTATS.modus (maske)
print ("Modus for matrise: \ n", mask_na)

Den første delen av programmet er den samme som vi brukte i forrige eksempel. Datasettet og metoden for å maskere matrisen er også den samme. Vi endret bare metoden. Her bruker vi modusfunksjonen for å finne modus for den maskerte matrisen. Syntaksen til modusfunksjonen er som følger:

"Array" -parameteren brukes til å gi datasettet. "Axis" -parameteren brukes til å definere aksen som skal brukes til å finne modus for dataene. La oss nå se modus for den maskerte matrisen i følgende:

Eksempel 4:

Den neste funksjonen til Scipy -biblioteket som kan brukes med en maskert matrise er Zscore (). Zscore -funksjonen brukes til å beregne zscore for de gitte dataene. Tenk på følgende prøveeksempel:

Importer numpy som NP
Importer numpy.ma som ma
fra scipy importstatistikk
data = np.Array ([2, 5, 8, -9, -7])
maske = ma.Masked_Array (Data, Mask = [0, 0, 0, 1, 1],
dtype = np.int8)
Print ("The Masked Array er: \ n", maske)
print ("\ n")
Mask_na = Statistikk.Zscore (maske)
Print ("Zscore er: \ n", Mask_na)

Igjen bruker vi det samme programmet og endret bare scipy -funksjonen som skal brukes med den maskerte matrisen. Som du ser, gir vi den maskerte matrisen til Zscore -funksjonen. Syntaksen til Zscore -funksjonen er som følger:

"Array" -parameteren brukes til å gi dataene til Szcore -funksjonen. "Axis" -parameteren holder aksen som skal brukes til å beregne Zscore. "DDOF" -parameteren brukes til å definere graden av frihetskorreksjon. Til slutt brukes parameteren “NAN_Policy” for å definere hvordan du håndterer NAN -verdiene. La oss nå se følgende resultat av Zscore -funksjonen:

Konklusjon

Denne Python -artikkelen er en rask oversikt over Scipy Masked -matrisen. Vi lærte at Scipy ikke gir noen funksjon eller metode for å maskere en matrise. Imidlertid gir den en liste over enkle og nyttige funksjoner som kan brukes med maskerte matriser. Numpy -biblioteket tilbyr MA.Masked_Array () -funksjonen for å maskere matrisen og at maskert matrise kan sendes til hvilken som helst scipy -funksjon for å utføre ønsket operasjon på maskerte data.