Basis Wiskundige Bewerkingen
Nu je bekend bent met het concept broadcasting, bespreken we enkele basis wiskundige bewerkingen in NumPy.
Scalaire bewerkingen
Onthoud dat broadcasting het mogelijk maakt om wiskundige bewerkingen uit te voeren tussen twee arrays met compatibele vormen of tussen een array en een scalaire waarde.
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}')
Zoals te zien is, wordt elke bewerking elementgewijs uitgevoerd op de array. In feite wordt een scalair uitgezonden naar een array met dezelfde vorm als onze oorspronkelijke array, waarbij alle elementen hetzelfde getal zijn. Daarom wordt de bewerking uitgevoerd op elk paar van overeenkomende elementen van de twee arrays.
Bewerkingen tussen twee arrays
Als de vormen van twee arrays compatibel zijn, wordt indien nodig broadcasting toegepast, en opnieuw wordt een bewerking elementgewijs uitgevoerd:
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}')
Deling, aftrekking en andere rekenkundige bewerkingen werken op vergelijkbare wijze. Hier is een ander voorbeeld waarbij de tweede (rechter) array wordt gebroadcast:
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 wordt gebroadcast naar een 2D-array met twee identieke rijen, elk met de array [5, 6, 7].
Toepassingen
Dergelijke wiskundige bewerkingen zijn essentieel voor taken zoals schalen, normaliseren en transformeren van gegevens in machine learning en statistische analyse. Ze maken efficiënte elementgewijze bewerkingen mogelijk voor het combineren van datasets, uitvoeren van numerieke simulaties en toepassen van filters in beeld- en signaalverwerking. Daarnaast worden deze bewerkingen veel gebruikt in wetenschappelijke computing en data-gedreven toepassingen.
Swipe to start coding
Je analyseert de kwartaalomzet-gegevens voor twee producten in 2021 en 2022, opgeslagen in twee 2D-arrays:
sales_data_2021: kwartaalomzet voor elk product in 2021, waarbij elke rij een specifiek product vertegenwoordigt;sales_data_2022: kwartaalomzet voor elk product in 2022, waarbij elke rij een specifiek product vertegenwoordigt.
Bereken de kwartaalomzetgroei voor elk product in procenten.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.7
Basis Wiskundige Bewerkingen
Veeg om het menu te tonen
Nu je bekend bent met het concept broadcasting, bespreken we enkele basis wiskundige bewerkingen in NumPy.
Scalaire bewerkingen
Onthoud dat broadcasting het mogelijk maakt om wiskundige bewerkingen uit te voeren tussen twee arrays met compatibele vormen of tussen een array en een scalaire waarde.
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}')
Zoals te zien is, wordt elke bewerking elementgewijs uitgevoerd op de array. In feite wordt een scalair uitgezonden naar een array met dezelfde vorm als onze oorspronkelijke array, waarbij alle elementen hetzelfde getal zijn. Daarom wordt de bewerking uitgevoerd op elk paar van overeenkomende elementen van de twee arrays.
Bewerkingen tussen twee arrays
Als de vormen van twee arrays compatibel zijn, wordt indien nodig broadcasting toegepast, en opnieuw wordt een bewerking elementgewijs uitgevoerd:
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}')
Deling, aftrekking en andere rekenkundige bewerkingen werken op vergelijkbare wijze. Hier is een ander voorbeeld waarbij de tweede (rechter) array wordt gebroadcast:
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 wordt gebroadcast naar een 2D-array met twee identieke rijen, elk met de array [5, 6, 7].
Toepassingen
Dergelijke wiskundige bewerkingen zijn essentieel voor taken zoals schalen, normaliseren en transformeren van gegevens in machine learning en statistische analyse. Ze maken efficiënte elementgewijze bewerkingen mogelijk voor het combineren van datasets, uitvoeren van numerieke simulaties en toepassen van filters in beeld- en signaalverwerking. Daarnaast worden deze bewerkingen veel gebruikt in wetenschappelijke computing en data-gedreven toepassingen.
Swipe to start coding
Je analyseert de kwartaalomzet-gegevens voor twee producten in 2021 en 2022, opgeslagen in twee 2D-arrays:
sales_data_2021: kwartaalomzet voor elk product in 2021, waarbij elke rij een specifiek product vertegenwoordigt;sales_data_2022: kwartaalomzet voor elk product in 2022, waarbij elke rij een specifiek product vertegenwoordigt.
Bereken de kwartaalomzetgroei voor elk product in procenten.
Oplossing
Bedankt voor je feedback!
single