Grundläggande Matematiska Operationer
Nu när du är bekant med konceptet broadcasting, låt oss diskutera några grundläggande matematiska operationer i NumPy.
Skalära operationer
Kom ihåg, broadcasting tillåter dig att utföra matematiska operationer mellan två arrayer av kompatibla former eller mellan en array och 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örs varje operation elementvis på arrayen. I huvudsak sänds en skalar till en array med samma form som vår ursprungliga array
, där alla elementen är samma nummer. Därför utförs operationen på varje par av motsvarande element i de två arrayerna.
Operationer Mellan Två Arrayer
Om formerna på två arrayer är kompatibla, utförs sändning om det behövs, och återigen utförs en operation 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}')
Division, subtraktion och andra aritmetiska operationer fungerar på ett liknande sätt. Här är ett annat exempel där den andra (högra) arrayen sänds ut:
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
sänds ut till en 2D-array med två identiska rader, var och en innehållande arrayen [5, 6, 7]
.
Tillämpningar
Sådana matematiska operationer är viktiga för uppgifter som skalning, normalisering och transformering av data i maskininlärning och statistisk analys. De möjliggör effektiva elementvisa operationer för att kombinera dataset, utföra numeriska simuleringar och tillämpa filter i bild- och signalbehandling. Dessutom används dessa operationer i stor utsträckning inom vetenskaplig beräkning och datadrivna applikationer.
Swipe to start coding
Du analyserar kvartalsförsäljningsdata för två produkter under 2021 och 2022, lagrade i två 2D-arrayer:
sales_data_2021
: kvartalsförsäljning för varje produkt under 2021, där varje rad representerar en specifik produkt;sales_data_2022
: kvartalsförsäljning för varje produkt under 2022, där varje rad representerar en specifik produkt.
Beräkna kvartalsintäktstillväxten för varje produkt i procent.
Lösning
Tack för dina kommentarer!