How to Standardize a Normal Distribution: Z-Scores

Standardizing a normal distribution means converting it into a standard normal distribution with a mean of 0 and a standard deviation of 1. You do this by transforming each data point into a z-score using a simple formula: subtract the mean, then divide by the standard deviation. The result tells you exactly how far any value sits from the average, measured in standard deviations.

Why Standardization Matters

Normal distributions come in all shapes. Test scores might center around 75 with a spread of 10, while salaries in a company might center around $60,000 with a spread of $12,000. These distributions have different means and different standard deviations, which makes direct comparison impossible. Standardization puts every normal distribution on the same scale.

Once standardized, you can compare values from completely unrelated datasets. A z-score of 1.5 on an exam means the same thing, relatively speaking, as a z-score of 1.5 on a salary distribution: both sit 1.5 standard deviations above their respective means. Standardization also lets you use a single reference table (the z-table) to find exact probabilities for any normally distributed variable, regardless of its original scale.

The Z-Score Formula

The formula is straightforward:

z = (x − μ) / σ

Where x is your data point, μ (mu) is the mean of the distribution, and σ (sigma) is the standard deviation. The numerator measures how far the data point is from the mean in raw units. Dividing by the standard deviation converts that distance into “number of standard deviations,” which is the z-score.

Step-by-Step Example

Suppose exam scores in a class are normally distributed with a mean of 80 and a standard deviation of 6. You scored 89 and want to know where that falls on the standardized scale.

  • Step 1: Identify your values. The data point (x) is 89, the mean (μ) is 80, and the standard deviation (σ) is 6.
  • Step 2: Subtract the mean from your data point. 89 − 80 = 9.
  • Step 3: Divide by the standard deviation. 9 / 6 = 1.5.

Your z-score is 1.5. That means your score sits 1.5 standard deviations above the class average.

Now try a score below the mean. If someone scored 71 on the same exam: 71 − 80 = −9, then −9 / 6 = −1.5. Their z-score is −1.5, placing them 1.5 standard deviations below average. If someone scored exactly 80, their z-score would be 0, right at the center of the distribution.

Reading Z-Scores: Sign and Size

A z-score carries two pieces of information. The sign tells you which side of the mean the value falls on: positive means above the mean, negative means below, and zero means exactly at the mean. The magnitude tells you how far. A z-score of 2.3 is further from the center than a z-score of 0.8, and therefore more unusual.

Most values in a normal distribution cluster near the center. About 68% of all data falls within 1 standard deviation of the mean (z-scores between −1 and 1). About 95% falls within 2 standard deviations (z-scores between −2 and 2). And 99.7% falls within 3 standard deviations. This pattern, sometimes called the empirical rule, means a z-score beyond 3 or below −3 is extremely rare.

Using a Z-Table to Find Probabilities

Once you have a z-score, you can look it up in a standard normal table (z-table) to find the probability of getting a value at or below that point. The table gives you the cumulative area under the curve to the left of your z-score.

Going back to the exam example, a z-score of 1.5 corresponds to a cumulative probability of about 0.9332. That means roughly 93.3% of students scored at or below 89. If you want the percentage who scored above 89, subtract from 1: about 6.7% of the class scored higher.

For negative z-scores, the table works the same way. A z-score of −1.5 gives a cumulative probability of about 0.0668, meaning only 6.7% of the class scored at or below 71. The symmetry of the normal distribution makes these mirror images of each other.

Standardizing in Excel

Excel has a built-in function that calculates z-scores directly:

=STANDARDIZE(x, mean, standard_dev)

It takes three arguments: the value you want to standardize, the mean of your distribution, and the standard deviation. For the exam example, you would enter =STANDARDIZE(89, 80, 6) and get 1.5. The standard deviation must be greater than zero, or the function returns an error.

If you have a column of raw scores and you already know the population mean and standard deviation, you can apply this function to every row to convert the entire dataset at once.

Standardizing in Python

Python’s SciPy library offers a one-line solution for standardizing an entire array of values. After importing the stats module, you call stats.zscore() on your data:

from scipy import stats
z_scores = stats.zscore(data)

This automatically calculates the mean and standard deviation from the data itself, then converts every value to its corresponding z-score. It works on lists, arrays, and dataframe columns. If you need to standardize against a known population mean and standard deviation rather than the sample statistics, you can apply the formula manually using NumPy: (data - mean) / std.

Standardizing an Entire Distribution

When you apply the z-score formula to every value in a normally distributed dataset, the entire distribution shifts and rescales. The new distribution has a mean of exactly 0 and a standard deviation of exactly 1. Its shape stays the same: the relative positions of all data points are preserved. A value that was one standard deviation above the original mean is now at z = 1. A value at the original mean is now at z = 0.

This transformed distribution is called the standard normal distribution, typically denoted as N(0, 1) or represented by the variable Z. Every normal distribution, regardless of its original mean and standard deviation, maps onto this single curve after standardization. That is what makes the z-table universal: you only need one table to handle every possible normal distribution.