Descriptive statistics are the first thing you compute when a fresh dataset lands on your desk. Before any model, dashboard or fancy chart, you need to know what the numbers actually look like: what is typical, how much they vary, and whether anything is off. A few well-chosen summary numbers answer all three questions and turn a wall of raw values into something a human can reason about.
Every data analyst leans on descriptive statistics daily. The moment you write "average order value was ₹1,240, up from ₹1,100 last month," you are doing descriptive statistics. This page maps out the full toolkit and shows how to compute it on a small dataset you can check by hand.
The three families of descriptive statistics
Descriptive measures split neatly into three groups, and a good summary usually reports at least one from each.
Measures of center describe the typical or middle value. The three you will use constantly are the mean (arithmetic average), the median (the middle value when sorted), and the mode (the most frequent value). Center answers "what is a normal value here?"
Measures of spread describe how tightly or loosely values cluster around that center. The range is simply maximum minus minimum. Variance and standard deviation measure average distance from the mean. The interquartile range (IQR) measures the width of the middle 50% of the data. Spread answers "how consistent is this?"
Measures of shape describe the silhouette of the distribution. Skewness tells you whether the data leans left or right, and kurtosis describes how heavy the tails are. Shape answers "is this symmetric, or dragged to one side by outliers?"
Center without spread is misleading. Two teams can both average 50,000 in monthly sales, but if one ranges from 48,000 to 52,000 and the other from 5,000 to 95,000, they are completely different stories. Always report center and spread together.
A worked example in pandas
Here is a small, illustrative sample of eight exam scores. We will summarize it and verify the numbers by hand.
import pandas as pd
scores = pd.Series([68, 72, 76, 78, 85, 88, 90, 95])
print(scores.describe())
Expected output:
count 8.000000
mean 81.500000
std 9.394203
min 68.000000
25% 76.500000
50% 81.500000
75% 88.500000
max 95.000000
dtype: float64
Let us confirm the key numbers. The sum of the eight scores is 652, so the mean is 652 / 8 = 81.5. The data sorted is already in order, and with eight values the median is the average of the 4th and 5th values, (78 + 85) / 2 = 81.5. The minimum is 68 and the maximum is 95, giving a range of 27. Here the mean and median match exactly, which signals a roughly symmetric dataset with no strong skew.
Note that pandas describe() reports the sample standard deviation (dividing by n − 1), which is why std is 9.39 rather than the population value. That distinction matters and is covered in the variance and standard deviation tutorial.
How analysts actually use these
In real work you rarely stop at one column. The pattern is: load the data, call describe() to get the lay of the land, then dig into anything that looks strange.
import pandas as pd
df = pd.DataFrame({
"region": ["N", "S", "N", "S", "N", "S"],
"sales": [120, 340, 90, 380, 110, 360],
})
# summary per group — the everyday analyst move
print(df.groupby("region")["sales"].agg(["mean", "median", "std", "min", "max"]))
Grouped descriptive statistics are the backbone of comparison. "The South region averages far more per sale than the North" is a descriptive claim that a manager can act on. The mean, the spread, and the min/max together tell you not just who is ahead but how reliable the gap is.
A large gap between mean and median is your early-warning signal for skew or outliers. If average salary is ₹95,000 but median salary is ₹55,000, a few very high earners are inflating the mean, and the median is the honest "typical" figure to quote.
Common mistakes
Reporting only the mean. The mean alone hides everything about variability and is easily distorted by outliers. Always pair it with a spread measure, and prefer the median when the data is skewed.
Confusing sample and population formulas. Standard deviation and variance have two versions, dividing by n or by n − 1. Tools default differently: pandas uses n − 1, while NumPy's std() defaults to n. Mixing them gives numbers that do not match, and interviewers notice.
Treating the mode as always useful. For continuous data like precise sale amounts, no two values repeat, so the mode is meaningless. The mode shines for categorical or discrete data, such as the most common product category.
Ignoring the count. A mean computed from three rows is not comparable to one computed from three thousand. Always report count alongside your summaries so readers can judge how much to trust them.
In interviews
Data analyst interviews almost always open with descriptive statistics because they reveal whether you think about data carefully. Expect "When would you use the median instead of the mean?" (answer: skewed data or outliers), "What does standard deviation tell you?" (average distance from the mean), and "Given this small list, compute the mean and median" done live without a calculator. Practice adding a short list in your head and finding the middle value quickly. Being able to say why you would choose one measure over another matters more than reciting formulas.
Where this fits in your learning path
Descriptive statistics are the foundation of the entire data analytics learning path. Everything downstream, from measures of center to percentiles and quartiles and eventually hypothesis testing, builds on the vocabulary here. Master this page first, then work through the sibling tutorials one measure at a time. If you are aiming for a job, the data analyst roadmap shows how these skills stack toward interviews and real reporting work.
Frequently Asked Questions
What is the difference between descriptive and inferential statistics?
What are the three main types of descriptive statistics?
Should I report the mean or the median?
What does pandas describe() return?
Why summarize data instead of showing every value?
Want to Build Your Career in Data Analytics with AI?
Join CodeBegun and train with working industry engineers — Check the Data Analyst training details

