Written and maintained by CASRAI Editorial Board
Last updated
To find the mean of a frequency distribution table, multiply each value (or class midpoint) by its frequency, add those products, and divide by the total of the frequencies: mean = Σ(f × x) ÷ Σf. If the table lists exact values, the result is the exact mean. If it lists class intervals, the result is an estimate, because the table no longer shows where inside each interval the observations fall.
How to find the mean of a frequency distribution table
The mean of a frequency distribution is a weighted average in which each frequency is the weight. The formula for a table of exact values is:
mean = Σ(f × x) ÷ Σf, where x is the value in a row, f is its frequency, and Σf is the total number of observations (n).
The steps are the same every time:
- Add a column headed f × x.
- In each row, multiply the value by its frequency and write the product in that column.
- Add up the f column to get Σf, and the f × x column to get Σ(f × x).
- Divide Σ(f × x) by Σf.
This is the ordinary mean, “the sum of the data points divided by the number of data points”, as the NIST/SEMATECH e-Handbook of Statistical Methods defines it (checked 2026-10-29). The table simply writes repeated values once, so multiplication replaces repeated addition.
How to find the mean of a frequency distribution of exact values
Use this version when each row is a single value, such as a count or a score. Worked example 1 uses an illustrative dataset: the number of samples a technician flagged per daily run over 25 runs.
| Value (x) | Frequency (f) | f × x |
|---|---|---|
| 0 | 5 | 0 |
| 1 | 8 | 8 |
| 2 | 6 | 12 |
| 3 | 4 | 12 |
| 4 | 2 | 8 |
| Total | 25 | 40 |
Mean = 40 ÷ 25 = 1.6 flagged samples per run. The dataset is made up for illustration; only the method comes from the sources listed below.
Check: it equals the mean of the raw data
Expand the table back into 25 individual values: five 0s, eight 1s, six 2s, four 3s and two 4s. Their sum is 0 + 8 + 12 + 12 + 8 = 40, and 40 ÷ 25 = 1.6, the same answer. This is a quick way to confirm you have not mis-multiplied a row: the f × x total must equal the sum of the raw data.
How to find the mean of a grouped frequency distribution (class intervals)
When rows are class intervals such as 62.5–68.5, you do not know the individual values, so use each interval’s midpoint m in place of x. OpenStax gives the formula for the mean of a frequency table as Σ(fm) ÷ Σf, where f is the frequency of the interval and m is its midpoint (OpenStax Introductory Statistics 2e, section 2.5, checked 2026-10-29). The midpoint is (lower limit + upper limit) ÷ 2.
Worked example 2: the OpenStax grade data
OpenStax asks for the best estimate of the class mean from this table (Example 2.30). The f × m column is added here.
| Interval | Midpoint (m) | Frequency (f) | f × m |
|---|---|---|---|
| 50–56.5 | 53.25 | 1 | 53.25 |
| 56.5–62.5 | 59.5 | 0 | 0 |
| 62.5–68.5 | 65.5 | 4 | 262 |
| 68.5–74.5 | 71.5 | 4 | 286 |
| 74.5–80.5 | 77.5 | 2 | 155 |
| 80.5–86.5 | 83.5 | 3 | 250.5 |
| 86.5–92.5 | 89.5 | 4 | 358 |
| 92.5–98.5 | 95.5 | 1 | 95.5 |
| Total | 19 | 1460.25 |
Mean ≈ 1460.25 ÷ 19 = 76.855…, which rounds to 76.86 at two decimal places. The table’s inputs and the sum come from OpenStax; the f × m products and the rounding are shown here so each step can be checked. Round only at the end: rounding each product or the midpoints first can shift the last digit.
Exact values or class intervals: which result do you get?
| Table type | Use as x | Result |
|---|---|---|
| Single values (counts, scores) | The value itself | Exact mean |
| Class intervals | Interval midpoint | Estimate of the mean |
For grouped data, say “estimated mean” in your write-up. To build the intervals themselves, see how to calculate class width, and for the same midpoint method applied to a chart see how to find the mean from a histogram.
Common mistakes
- Dividing by the number of rows. Divide by Σf, the total frequency, not by the number of values or classes. In Example 2 that is 19, not 8.
- Using class limits instead of midpoints. Multiplying by the lower or upper limit biases the estimate low or high.
- Forgetting zero-frequency rows. They add nothing to either total, so skipping them is harmless, but they must not be counted as a class in the divisor.
- Averaging the f column. The mean of the frequencies describes the table, not the data.
- Open-ended classes such as “90 and above” have no midpoint; you must state an assumed boundary or use another measure.
The mean is also sensitive to skew. NIST notes that the mean is pulled in the direction of the skewness and that extreme values in the tails distort it, so a frequency table with a long tail may be better summarised alongside a median; see descriptive statistics.
How to compute the mean of a frequency table in Excel, R or Python
Put the values (or midpoints) in one column and the frequencies in another. Using the data from Worked example 1:
Excel (values in A2:A6, frequencies in B2:B6):
=SUMPRODUCT(A2:A6, B2:B6) / SUM(B2:B6)
R:
x <- c(0, 1, 2, 3, 4)
f <- c(5, 8, 6, 4, 2)
weighted.mean(x, f) # 1.6
Python (NumPy):
import numpy as np
x = [0, 1, 2, 3, 4]
f = [5, 8, 6, 4, 2]
np.average(x, weights=f) # 1.6
For grouped data, replace x with the midpoints. The Python version returns 76.855… for the OpenStax table.
Related ideas
A frequency-weighted mean is a special case of a weighted average; a probability-weighted version is covered in the expected value formula guide. Frequency tables and their cumulative columns are discussed in relative frequency and frequency distributions and in the ogive guide, and quantitative data examples shows the kinds of counted data that end up in these tables.
Frequently asked questions
How to find the mean of a frequency distribution table?
Multiply each value by its frequency, sum the products, and divide by the sum of the frequencies: Σ(f × x) ÷ Σf.
How to find mean of frequency distribution?
Add an f × x column, total it, and divide by the total frequency. For the data in Worked example 1 the answer is 40 ÷ 25 = 1.6.
How to find the mean of the frequency distribution when the data are grouped?
Use each class midpoint as x. The result, Σ(fm) ÷ Σf, is an estimate of the mean, 76.86 for the OpenStax grade table.
How to find the mean of a frequency distribution without the raw data?
You do not need the raw data. The table contains enough information for an exact mean when it lists single values, and for an estimate when it lists intervals.
Why divide by Σf and not by the number of rows?
Each row stands for several observations. Σf counts all of them, which is the n in the ordinary mean formula.
Sources
- OpenStax, Introductory Statistics 2e, section 2.5, Measures of the Center of the Data: https://openstax.org/books/introductory-statistics-2e/pages/2-5-measures-of-the-center-of-the-data (checked 2026-10-29).
- NIST/SEMATECH e-Handbook of Statistical Methods, Measures of Location: https://www.itl.nist.gov/div898/handbook/eda/section3/eda351.htm (checked 2026-10-29).








