Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Statistiska Operationer | Matematik med NumPy
Ultimata NumPy

Svep för att visa menyn

book
Statistiska Operationer

Att utföra olika statistiska operationer på arrayer är viktigt för dataanalys och maskininlärning. NumPy tillhandahåller funktioner och metoder för att utföra dem effektivt.

Mått på central tendens

Mått på central tendens representerar ett centralt eller representativt värde inom en sannolikhetsfördelning. Oftast kommer du dock att beräkna dessa mått för ett visst urval.

Här är de två huvudsakliga måtten:

  • Medelvärde: summan av alla värden dividerat med det totala antalet värden;

  • Median: Det mittersta värdet i ett sorterat urval.

NumPy tillhandahåller mean() och median() funktioner för att beräkna medelvärdet respektive medianen:

12345678
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the mean sample_mean = np.mean(sample) print(f'Sorted sample: {np.sort(sample)}') # Calculating the median sample_median = np.median(sample) print(f'Mean: {sample_mean}, median: {sample_median}')
copy

Vi visade också det sorterade urvalet så att du tydligt kan se medianen. Vårt urval har ett udda antal element (7), så medianen är helt enkelt elementet på index (n + 1) / 2 i det sorterade urvalet, där n är storleken på urvalet.

Notera

När urvalet har ett jämnt antal element är medianen genomsnittet av elementen på index n / 2 och n / 2 - 1 i det sorterade urvalet.

1234
import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
copy

Vårt urval är redan sorterat och har 8 element, så n / 2 - 1 = 3 och sample[3] är 10. n / 2 = 4 och sample[4] är 15. Därför är vår median (10 + 15) / 2 = 12.5.

Spridningsmått

Två spridningsmått är varians och standardavvikelse. Varians mäter hur utspridd datan är. Det är lika med medelvärdet av de kvadrerade skillnaderna mellan varje värde och medelvärdet.

Standardavvikelse är kvadratroten av variansen. Det ger ett mått på hur utspridd datan är i samma enheter som datan.

NumPy har funktionen var() för att beräkna variansen av urvalet och funktionen std() för att beräkna standardavvikelsen av urvalet:

1234567
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the variance sample_variance = np.var(sample) # Calculating the standard deviation sample_std = np.std(sample) print(f'Variance: {sample_variance}, standard deviation: {sample_std}')
copy

Beräkningar i högre dimensionella arrayer

Alla dessa funktioner har en andra parameter axis. Dess standardvärde är None, vilket innebär att måttet kommer att beräknas längs en utplattad array (även om den ursprungliga arrayen är 2D eller högre dimensionell).

Du kan också specificera den exakta axeln längs vilken du vill beräkna måttet:

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Calculating the mean in a flattened array print(np.mean(array_2d)) # Calculating the mean along axis 0 print(np.mean(array_2d, axis=0)) # Calculating the mean along axis 1 print(np.mean(array_2d, axis=1))
copy

Bilden nedan visar strukturen för exam_scores-arrayen som används i uppgiften:

Uppgift

Swipe to start coding

Du analyserar exam_scores arrayen, en 2D-array av simulerade testresultat för 2 studenter (2 rader) över 5 olika prov (5 kolumner).

  1. Beräkna medelvärdet för varje student genom att specificera det andra nyckelordsargumentet.

  2. Beräkna medianen av alla resultat.

  3. Beräkna variansen av alla resultat.

  4. Beräkna standardavvikelsen av alla resultat.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Statistiska Operationer

Att utföra olika statistiska operationer på arrayer är viktigt för dataanalys och maskininlärning. NumPy tillhandahåller funktioner och metoder för att utföra dem effektivt.

Mått på central tendens

Mått på central tendens representerar ett centralt eller representativt värde inom en sannolikhetsfördelning. Oftast kommer du dock att beräkna dessa mått för ett visst urval.

Här är de två huvudsakliga måtten:

  • Medelvärde: summan av alla värden dividerat med det totala antalet värden;

  • Median: Det mittersta värdet i ett sorterat urval.

NumPy tillhandahåller mean() och median() funktioner för att beräkna medelvärdet respektive medianen:

12345678
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the mean sample_mean = np.mean(sample) print(f'Sorted sample: {np.sort(sample)}') # Calculating the median sample_median = np.median(sample) print(f'Mean: {sample_mean}, median: {sample_median}')
copy

Vi visade också det sorterade urvalet så att du tydligt kan se medianen. Vårt urval har ett udda antal element (7), så medianen är helt enkelt elementet på index (n + 1) / 2 i det sorterade urvalet, där n är storleken på urvalet.

Notera

När urvalet har ett jämnt antal element är medianen genomsnittet av elementen på index n / 2 och n / 2 - 1 i det sorterade urvalet.

1234
import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
copy

Vårt urval är redan sorterat och har 8 element, så n / 2 - 1 = 3 och sample[3] är 10. n / 2 = 4 och sample[4] är 15. Därför är vår median (10 + 15) / 2 = 12.5.

Spridningsmått

Två spridningsmått är varians och standardavvikelse. Varians mäter hur utspridd datan är. Det är lika med medelvärdet av de kvadrerade skillnaderna mellan varje värde och medelvärdet.

Standardavvikelse är kvadratroten av variansen. Det ger ett mått på hur utspridd datan är i samma enheter som datan.

NumPy har funktionen var() för att beräkna variansen av urvalet och funktionen std() för att beräkna standardavvikelsen av urvalet:

1234567
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the variance sample_variance = np.var(sample) # Calculating the standard deviation sample_std = np.std(sample) print(f'Variance: {sample_variance}, standard deviation: {sample_std}')
copy

Beräkningar i högre dimensionella arrayer

Alla dessa funktioner har en andra parameter axis. Dess standardvärde är None, vilket innebär att måttet kommer att beräknas längs en utplattad array (även om den ursprungliga arrayen är 2D eller högre dimensionell).

Du kan också specificera den exakta axeln längs vilken du vill beräkna måttet:

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Calculating the mean in a flattened array print(np.mean(array_2d)) # Calculating the mean along axis 0 print(np.mean(array_2d, axis=0)) # Calculating the mean along axis 1 print(np.mean(array_2d, axis=1))
copy

Bilden nedan visar strukturen för exam_scores-arrayen som används i uppgiften:

Uppgift

Swipe to start coding

Du analyserar exam_scores arrayen, en 2D-array av simulerade testresultat för 2 studenter (2 rader) över 5 olika prov (5 kolumner).

  1. Beräkna medelvärdet för varje student genom att specificera det andra nyckelordsargumentet.

  2. Beräkna medianen av alla resultat.

  3. Beräkna variansen av alla resultat.

  4. Beräkna standardavvikelsen av alla resultat.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt