Theory
एक class, तीन अलग "averages"
पाँच DBMS scores ResultDesk में उतरते हैं: 35, 40, 45, 50, 90।
Class representative announce करता है: "class average 52!" पाँच में से चार students ने उस "average" से कम score किया। ज़्यादातर class average से कम कैसे हो सकती है?
एक brilliant outlier (90) ने mean को ऊपर खींचा। Data को एक अकेले number से summarise करना एक choice है, और तीन classic choices (mean, median, mode) उन्हीं marks के बारे में तीन अलग stories बता सकते हैं।
Theory
एक exam hall पर तीन reporters
तीन reporters वही results summarise करते हैं:
- Accountant (mean): सब कुछ जोड़ता है, count से divide करता है: precise, पर एक गाँव में एक करोड़पति "average villager" को अमीर बना देता है।
- Queue-watcher (median): सबको line में लगाता है, middle person report करता है: outliers middle को हिला नहीं सकते।
- Crowd-counter (mode): जो सबसे ज़्यादा होता है वह report करता है: वह अकेला जो non-numbers भी summarise कर सकता है (सबसे common grade: 'B')।
Theory
तीनों, formally (हमारे पाँच scores पर हल किया गया)
Scores: 35, 40, 45, 50, 90।
Mean = sum ÷ count = 260 ÷ 5 = 52।
Median = sorting के बाद middle value: 35, 40, 45, 50, 90 → 45। (Even count? दोनों middle values का average लीजिए।)
Mode = सबसे frequent value। यहाँ हर score एक बार आता है: कोई useful mode नहीं। 55, 60, 60, 70 में: mode = 60।
Outlier rule: means outliers का पीछा करते हैं, medians उन्हें नज़रअंदाज़ करते हैं: जब mean और median sharply असहमत हों, data में एक outlier छुपा है।
Theory
Spread: variance और standard deviation
दो classes 60 का mean share कर सकती हैं: एक 58 से 62 score करती हुई, दूसरी 20 से 95। Missing number spread है।
Variance = mean से squared deviations का average (squaring + और - deviations को cancel होने से रोकता है)।
Standard deviation (SD) = √variance, जो number को marks units में वापस लाता है: 4 का SD मतलब है scores आमतौर पर mean से लगभग 4 marks दूर बैठते हैं।
छोटा SD = consistent class। बड़ा SD = toppers और strugglers की एक class एक average पहने हुए।
Practical
पाँचों, प्रति एक line
import pandas as pd
df = pd.read_csv('marks.csv')
dbms = df[df['subject'] == 'DBMS']['score'] # last lesson's slicing
print(dbms.mean()) # 52.0
print(dbms.median()) # 45.0
print(dbms.mode()) # a Series: there can be MULTIPLE modes
print(dbms.var()) # variance (sample formula: divides by n-1)
print(dbms.std()) # standard deviation, in marks
# the one-call summary: count, mean, std, min, quartiles, max
print(dbms.describe())
# numpy note: np.std(dbms) divides by n (population formula),
# so it gives a slightly SMALLER answer than dbms.std(). Name
# your formula in exams: sample (n-1) vs population (n).
This example runs in Gri-Learn on the web, where you can edit it and see the output.
Quiz
Scores 35, 40, 45, 50, 90: mean 52, median 45। एक scholarship को "typical student के score" की ज़रूरत है। कौन सा measure और क्यों?
- Median 45: outlier 90 mean को 5 में से 4 students से ऊपर खींचता है, median इसका सामना करता है
- Mean 52: यह हर value इस्तेमाल करता है, तो यह हमेशा ज़्यादा accurate है
- Mode: यह marks के लिए हमेशा best measure है
- Variance: यह typical score directly दिखाता है
Show the answer
Median 45: outlier 90 mean को 5 में से 4 students से ऊपर खींचता है, median इसका सामना करता है
"Typical" उस centre के लिए पूछता है जिसके पास majority असल में बैठती है: median 45 पर रहता है topper चाहे कितना ही spectacular हो, जबकि mean 52 तक खींचा गया, class के 80% से ऊपर। Option B का 'हर value इस्तेमाल करता है' बिल्कुल वही कारण है जिससे mean यहाँ vulnerable है। सभी-distinct scores पर mode बेकार है, और variance spread measure करता है, centre नहीं: इन दो families को mix करना classic exam slip है।
Think first
एक हाथ से हल कीजिए (exams यह माँगते हैं)
Scores: 4, 8, 6, 2 (जानबूझकर छोटे numbers)। कागज़ पर: mean compute कीजिए, फिर चार deviations, फिर POPULATION variance (n से divide) और SD। समय लीजिए, फिर tap कीजिए।
Show the answer
Mean = (4+8+6+2) ÷ 4 = 5।
Deviations: -1, +3, +1, -3। Squared: 1, 9, 1, 9। Sum = 20।
Population variance = 20 ÷ 4 = 5। SD = √5 ≈ 2.24।
(Sample formula n-1 = 3 से divide करता: variance ≈ 6.67, SD ≈ 2.58: pandas का default।) अगर आपकी deviations squaring से पहले zero तक sum नहीं हुईं (-1+3+1-3 = 0), mean recheck कीजिए: वह zero-sum built-in error check है।
Watch out
Marks कहाँ लीक होते हैं
बिना sorting के median: unsorted list का middle meaningless है: हमेशा पहले sort कीजिए।
mode() एक Series return करता है: कई values सबसे frequent के लिए tie कर सकती हैं; एक number मत मान लीजिए।
pandas बनाम numpy: .std() n-1 (sample) से divide करता है, np.std n (population) से: दो "correct" जवाब जो अलग होते हैं। Exams में, वह formula NAME कीजिए जो आपने इस्तेमाल किया।
Theory
यह BCA302 है जल्दी knock करता हुआ
अगला semester-slot subject BCA302 (Statistical Methods) इन पाँच numbers पर सब कुछ बनाता है: skewness, correlation, distributions। इनसे यहाँ मिलना, आपके अपने marks data पर चलते हुए, जानबूझकर है: आपके बनाए data पर सीखी statistics textbook tables पर सीखी statistics से बेहतर है। अगला lesson: DataFrame का inspection toolkit (head, tail, loc, iloc, describe): daily-driver functions।
Summary
Key takeaways
- Mean = sum/count: सभी values इस्तेमाल करता है, outliers की तरफ़ खिंचता है; median = SORTED data का middle: outlier-proof।
- Mode = सबसे frequent value(s): categories के लिए काम करता है; कई हो सकते हैं।
- Median से दूर mean = एक outlier छुपा है।
- Variance = mean से average squared deviation; SD = इसका square root, marks units में वापस।
- pandas: .mean() .median() .mode() .var() .std(), और पूरे summary के लिए .describe()।
- pandas n-1 (sample) से divide करता है; numpy n (population) से: अपना formula नाम दीजिए।
- Memory hook: accountant, queue-watcher, crowd-counter।