Grunnleggende Matematiske Operasjoner
Nå som du er kjent med konseptet broadcasting, la oss diskutere noen grunnleggende matematiske operasjoner i NumPy.
Skalaroperasjoner
Husk, broadcasting lar deg utføre matematiske operasjoner mellom to matriser av kompatible former eller mellom en matrise og en skalar.
import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
Som du kan se, utføres hver operasjon elementvis på matrisen. I hovedsak blir en skalar kringkastet til en matrise med samme form som vår opprinnelige array
, der alle elementene er det samme tallet. Derfor utføres operasjonen på hvert par av tilsvarende elementer i de to matrisene.
Operasjoner Mellom To Matriser
Hvis formene til to matriser er kompatible, utføres kringkasting om nødvendig, og nok en gang utføres en operasjon elementvis:
import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
Divisjon, subtraksjon og andre aritmetiske operasjoner fungerer på en lignende måte. Her er et annet eksempel hvor den andre (høyre) arrayen kringkastes:
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
arr_2
kringkastes til en 2D-array med to identiske rader, hver inneholdende arrayen [5, 6, 7]
.
Applikasjoner
Slike matematiske operasjoner er essensielle for oppgaver som skalering, normalisering og transformering av data i maskinlæring og statistisk analyse. De muliggjør effektive elementvise operasjoner for å kombinere datasett, utføre numeriske simuleringer og anvende filtre i bilde- og signalbehandling. Dessuten er disse operasjonene mye brukt i vitenskapelig databehandling og datadrevne applikasjoner.
Swipe to start coding
Du analyserer kvartalsvise salgsdata for to produkter i 2021 og 2022, lagret i to 2D-arrayer:
sales_data_2021
: kvartalsvise salg for hvert produkt i 2021, med hver rad som representerer et spesifikt produkt;sales_data_2022
: kvartalsvise salg for hvert produkt i 2022, med hver rad som representerer et spesifikt produkt.
Beregn den kvartalsvise inntektsveksten for hvert produkt i prosent.
Løsning
Takk for tilbakemeldingene dine!