Hva er numpy kringkasting?
Når du utfører aritmetiske operasjoner på matriser med forskjellige former, omtaler Numpy dette som kringkasting. Disse matriseoperasjonene utføres ofte på de respektive elementene. Hvis to matriser har samme form, kan det gjøres på dem med letthet. Selv om dette konseptet er nyttig, anbefales ikke alltid kringkasting fordi det kan resultere i ineffektiv minnebruk som bremser beregningen. Numpy operasjoner utføres ofte på matrisepar som er nedbrutt element etter element.
Regler for kringkasting
Et bestemt sett med retningslinjer må følges ved kringkasting. Disse er beskrevet nedenfor:
La oss nå diskutere noen eksempler på å implementere konseptet kringkasting.
Eksempel 1:
På par matriser utføres numpy operasjoner typisk element-for-element. De to matriser må i det mest enkle scenariet ha samme form, som i eksemplet nedenfor:
Importer numpySom du ser fra koden over, har vi to matriser: 'One_arr' og 'Two_ arr'. Som hver har et eget sett med verdier. Verdiene i 'One_arr' er [2.0,3.0,1.0] og 'to _arr' er [3.0,3.0,3.0]. Du kan da se at resultatet av beregning av produktet av disse to matriser er som følger:
Når visse krav blir oppfylt av matrisernes skjemaer, senker Numpys kringkastingsregel denne begrensningen. Når en matrise og en skalarverdi er sammen med en operasjon, demonstreres kringkasting i sin mest grunnleggende form. Som du ser er 3 inneholdt i variabelen som heter 'Two_arr.'
Importer numpyOvennevnte kode gir følgende resultat.
I det foregående eksemplet, der 'Two_arr' var en matrise, tilsvarer utfallet. Vi kan se på at skalaren 'Two_arr' blir utvidet under den aritmetiske prosessen til en matrise som har samme form som 'One _ARR.'The Array' to_arr 'inneholder nye elementer som bare er duplikater av den første skalaren. Strekkesammenligningen er bare hypotetisk. For å gjøre kringkastingsoperasjoner som minne og beregningsøkonomisk som mulig, er Numpy smart nok til å bruke den opprinnelige skalarverdien i stedet for å produsere kopier.
Eksempel 2:
Her er et annet enkelt Python -program som utfører kringkasting. Nok en gang opprettes to matriser som inneholder forskjellige verdier. Det er nødvendig å omforme 'First_arr' til en kolonnevektor med en 3 × 1 form for å beregne et ytre produkt. Etter dette blir sendingen utført mot 'Second_arr' for å gi et resultat av størrelse 3 × 2, kjent som det ytre produktet fra 'First_arr' og 'Second_arr.'Kringkasting til 2 × 3 er mulig siden' Resultat_arr 'har formen 2 × 3 så vel som formen (3,).
Etter å ha fulgt alle de ovennevnte trinnene, må en vektor inkluderes i hver kolonne i matriser som er 'Resultat_arr' og 'Second_arr.'Disse har dimensjoner på 2 × 3 og (2,). Å transponere 'Resultat_arr' vil gi en form på 3 × 2, som deretter kan sendes mot 'Second_arr' for å få samme form. Typisk, å transponere dette gir et sluttprodukt i formen 2 × 3.
Importer numpyDu kan se utdataene nedenfor.
Eksempel 3:
En tredimensjonal matrise kan sendes ved hjelp av følgende Python-program. I dette eksemplet har to matriser kalt 'First_arr' og 'Second_arr' blitt generert. Array 'First_arr' inneholder [4,13,26,12] verdier og 'Second_arr' inneholder [32,67,45,17] verdier. Den første matrisens 2-dimensjoner utgjør en forskjell. Den første og andre matrisens sum vises nedenfor etter at koden er utført. Du kan se at vi har tre utskriftserklæringer i koden, som hver viser teksten 'første matrise:', 'Second Array', og 'Third Array:' i sin tur. Summen av disse to ny genererte matriser vises deretter.
Importer numpyHer er output -skjermbildet til den gitte koden.
Eksempel 4:
Det siste Python-programmet som sender en tredimensjonal matrise er gitt her. To matriser er spesifisert i dette programmet, hvorav den første har tre dimensjoner. Den første og andre matrisens sum vil bli vist som vist ovenfor etter at koden er utført. Selv om verdiene i disse matriser varierer, er den gjenværende koden den samme som brukt i eksempelprogrammet ovenfor.
Importer numpyDu kan se på figuren nedenfor at en tredimensjonal matrise fra den første matrisen blir presentert, etterfulgt av en 2-dimensjonal matrise fra den andre matrisen og resultatet av disse to som bruker kringkastingsprinsippet.
Konklusjon
Denne artikkelen diskuterte kringkasting, et avgjørende Python -konsept. I Numpy refererer begrepet 'kringkasting' til kapasiteten til å håndtere matriser av forskjellige former mens du utfører aritmetiske operasjoner som ofte utføres. Det nevnte emnet er grundig dekket med en rekke eksempler. Denne artikkelen brukte de nevnte eksempelprogrammene for å demonstrere hvordan man sendes på henholdsvis 1-D, 2-D og 3-D-matriser. Du kan prøve å kjøre disse eksemplene på systemet ditt og se resultatene for å forstå hvordan alt fungerer generelt.