Statistiska Operationer
Att utföra olika statistiska operationer på arrayer är avgörande för dataanalys och maskininlärning. NumPy tillhandahåller funktioner och metoder för att utföra dessa effektivt.
Centrala tendensmått
Centrala tendensmått representerar ett centralt eller representativt värde inom en sannolikhetsfördelning. Oftast beräknas dessa mått dock 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 funktionerna mean() och median() för att beräkna medelvärde respektive median:
12345678import 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}')
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.
När urvalet har ett jämnt antal element är medianen medelvärdet av elementen på index n / 2 och n / 2 - 1 i det sorterade urvalet.
1234import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
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 medianen (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 avvikelserna från medelvärdet för varje värde.
Standardavvikelse är kvadratroten av variansen. Den ger ett mått på hur utspridd datan är i samma enheter som datan.
NumPy har funktionen var() för att beräkna variansen för urvalet och funktionen std() för att beräkna standardavvikelsen för urvalet:
1234567import 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}')
Beräkningar i högdimensionella arrayer
Alla dessa funktioner har en andra parameter axis. Dess standardvärde är None, vilket innebär att måttet beräknas längs en utslätad array (även om den ursprungliga arrayen är 2D eller högre dimensionell).
Du kan också ange den exakta axeln längs vilken måttet ska beräknas:
12345678import 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))
Bilden nedan visar strukturen för arrayen exam_scores som används i uppgiften:
Swipe to start coding
Du analyserar arrayen exam_scores, en tvådimensionell array med simulerade provresultat för 2 studenter (2 rader) över 5 olika prov (5 kolumner).
- Beräkna medelvärdet för varje student genom att ange det andra nyckelargumentet.
- Beräkna medianen av alla resultat.
- Beräkna variansen av alla resultat.
- Beräkna standardavvikelsen av alla resultat.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain how to interpret the results of the mean and median calculations?
What is the difference between variance and standard deviation in practical terms?
How does the axis parameter affect calculations on higher dimensional arrays?
Awesome!
Completion rate improved to 3.7
Statistiska Operationer
Svep för att visa menyn
Att utföra olika statistiska operationer på arrayer är avgörande för dataanalys och maskininlärning. NumPy tillhandahåller funktioner och metoder för att utföra dessa effektivt.
Centrala tendensmått
Centrala tendensmått representerar ett centralt eller representativt värde inom en sannolikhetsfördelning. Oftast beräknas dessa mått dock 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 funktionerna mean() och median() för att beräkna medelvärde respektive median:
12345678import 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}')
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.
När urvalet har ett jämnt antal element är medianen medelvärdet av elementen på index n / 2 och n / 2 - 1 i det sorterade urvalet.
1234import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
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 medianen (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 avvikelserna från medelvärdet för varje värde.
Standardavvikelse är kvadratroten av variansen. Den ger ett mått på hur utspridd datan är i samma enheter som datan.
NumPy har funktionen var() för att beräkna variansen för urvalet och funktionen std() för att beräkna standardavvikelsen för urvalet:
1234567import 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}')
Beräkningar i högdimensionella arrayer
Alla dessa funktioner har en andra parameter axis. Dess standardvärde är None, vilket innebär att måttet beräknas längs en utslätad array (även om den ursprungliga arrayen är 2D eller högre dimensionell).
Du kan också ange den exakta axeln längs vilken måttet ska beräknas:
12345678import 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))
Bilden nedan visar strukturen för arrayen exam_scores som används i uppgiften:
Swipe to start coding
Du analyserar arrayen exam_scores, en tvådimensionell array med simulerade provresultat för 2 studenter (2 rader) över 5 olika prov (5 kolumner).
- Beräkna medelvärdet för varje student genom att ange det andra nyckelargumentet.
- Beräkna medianen av alla resultat.
- Beräkna variansen av alla resultat.
- Beräkna standardavvikelsen av alla resultat.
Lösning
Tack för dina kommentarer!
single