Grundlæggende Matematiske Operationer
Nu hvor du er bekendt med konceptet broadcasting, lad os gennemgå nogle grundlæggende matematiske operationer i NumPy.
Skalaroperationer
Husk, broadcasting gør det muligt at udføre matematiske operationer mellem to arrays med kompatible former eller mellem et array og en skalar.
1234567891011import 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, udføres hver operation elementvist på arrayet. En skalar broadcastes i det væsentlige til et array med samme form som vores oprindelige array, hvor alle elementerne har samme værdi. Derfor udføres operationen på hvert par af tilsvarende elementer i de to arrays.
Operationer mellem to arrays
Hvis formene på to arrays er kompatible, udføres broadcasting om nødvendigt, og igen udføres en operation elementvist:
123456789101112import 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 og andre aritmetiske operationer fungerer på lignende måde. Her er et andet eksempel, hvor den anden (højre) array bliver broadcastet:
123456789101112import 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 bliver broadcastet til et 2D-array med to identiske rækker, hver indeholdende arrayet [5, 6, 7].
Anvendelser
Sådanne matematiske operationer er essentielle for opgaver som skalering, normalisering og transformation af data i maskinlæring og statistisk analyse. De muliggør effektive elementvise operationer til at kombinere datasæt, udføre numeriske simuleringer og anvende filtre i billed- og signalbehandling. Derudover anvendes disse operationer bredt inden for videnskabelig databehandling og datadrevne applikationer.
Swipe to start coding
Du analyserer kvartalsvise salgstal for to produkter i 2021 og 2022, gemt i to 2D-arrays:
sales_data_2021: kvartalsvise salgstal for hvert produkt i 2021, hvor hver række repræsenterer et specifikt produkt;sales_data_2022: kvartalsvise salgstal for hvert produkt i 2022, hvor hver række repræsenterer et specifikt produkt.
Beregn kvartalsvis omsætningsvækst for hvert produkt i procent.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Grundlæggende Matematiske Operationer
Stryg for at vise menuen
Nu hvor du er bekendt med konceptet broadcasting, lad os gennemgå nogle grundlæggende matematiske operationer i NumPy.
Skalaroperationer
Husk, broadcasting gør det muligt at udføre matematiske operationer mellem to arrays med kompatible former eller mellem et array og en skalar.
1234567891011import 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, udføres hver operation elementvist på arrayet. En skalar broadcastes i det væsentlige til et array med samme form som vores oprindelige array, hvor alle elementerne har samme værdi. Derfor udføres operationen på hvert par af tilsvarende elementer i de to arrays.
Operationer mellem to arrays
Hvis formene på to arrays er kompatible, udføres broadcasting om nødvendigt, og igen udføres en operation elementvist:
123456789101112import 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 og andre aritmetiske operationer fungerer på lignende måde. Her er et andet eksempel, hvor den anden (højre) array bliver broadcastet:
123456789101112import 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 bliver broadcastet til et 2D-array med to identiske rækker, hver indeholdende arrayet [5, 6, 7].
Anvendelser
Sådanne matematiske operationer er essentielle for opgaver som skalering, normalisering og transformation af data i maskinlæring og statistisk analyse. De muliggør effektive elementvise operationer til at kombinere datasæt, udføre numeriske simuleringer og anvende filtre i billed- og signalbehandling. Derudover anvendes disse operationer bredt inden for videnskabelig databehandling og datadrevne applikationer.
Swipe to start coding
Du analyserer kvartalsvise salgstal for to produkter i 2021 og 2022, gemt i to 2D-arrays:
sales_data_2021: kvartalsvise salgstal for hvert produkt i 2021, hvor hver række repræsenterer et specifikt produkt;sales_data_2022: kvartalsvise salgstal for hvert produkt i 2022, hvor hver række repræsenterer et specifikt produkt.
Beregn kvartalsvis omsætningsvækst for hvert produkt i procent.
Løsning
Tak for dine kommentarer!
single