Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende Matematiske Operasjoner | Matematikk med NumPy
Ultimate NumPy

book
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}')
1234567891011
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}')
copy

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}')
123456789101112
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}')
copy

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}')
123456789101112
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}')
copy

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.

Oppgave

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

import numpy as np
# Simulated quarterly sales data for two products in 2021 and 2022
sales_data_2021 = np.array([[350, 420, 380, 410], [270, 320, 290, 310]])
sales_data_2022 = np.array([[360, 440, 390, 430], [280, 330, 300, 320]])
# Calculate the quarterly revenue growth for each product
revenue_growth = (sales_data_2022 - sales_data_2021) / sales_data_2021 * 100
# Rounding each of the elements to 2 decimal places
revenue_growth = np.round(revenue_growth, 2)
print(f'Revenue growth by quarter for each product:\n{revenue_growth}')

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2
import numpy as np
# Simulated quarterly sales data for two products in 2021 and 2022
sales_data_2021 = np.array([[350, 420, 380, 410], [270, 320, 290, 310]])
sales_data_2022 = np.array([[360, 440, 390, 430], [280, 330, 300, 320]])
# Calculate the quarterly revenue growth for each product in percents
revenue_growth = (___) / ___ * ___
# Rounding each of the elements to 2 decimal places
revenue_growth = np.round(revenue_growth, 2)
print(f'Revenue growth by quarter for each product:\n{revenue_growth}')
toggle bottom row
some-alt