To demonstrate the power of normal distributions—the famous bell curve—we'll leverage NumPy's random number generation capabilities. Let's create a dataset of 1,000 scores to see statistical theory come to life in practice.

We'll use `np.random.normal()` instead of the uniform distribution from our previous example. This method requires three key parameters: the mean (what value our numbers cluster around), the standard deviation (how spread out they are), and the sample size. For our demonstration, we'll set the mean to 100 with a standard deviation of 15—parameters commonly used in standardized testing.

Understanding the mathematics behind this choice is crucial for data professionals. With these parameters, statistical theory tells us that 68% of our values will fall within one standard deviation of the mean—specifically between 85 and 115. When we examine the first 20 values from our generated dataset, this pattern becomes immediately apparent.

Notice how the values cluster around our target mean of 100, with occasional outliers that still fall within expected ranges. These outliers aren't errors—they're natural features of normal distributions that occur roughly 32% of the time beyond one standard deviation. The same pattern emerges when examining the final 20 values, confirming our theoretical expectations.

The visual representation reveals the true elegance of normal distributions. By plotting our 1,000 scores as a histogram with 20 bins, we begin to see the characteristic bell curve emerge, though with some irregularities due to our relatively small sample size.

This brings us to a fundamental principle in data science: sample size dramatically impacts the smoothness and reliability of our distributions. While our initial 1,000-point sample shows the general bell shape, it exhibits some asymmetry—fewer values below 60 but more extending beyond the upper tail.

To demonstrate the law of large numbers in action, let's scale up to 250,000 samples while maintaining our mean of 100 and standard deviation of 15. We'll also increase our bin count to 100 for greater granularity, providing a more detailed view of the distribution's shape.

The transformation is remarkable. Our expanded dataset produces a significantly smoother, more symmetrical bell curve that closely matches theoretical expectations. While minor irregularities remain—randomness never completely disappears—the overall shape now clearly demonstrates the power of normal distributions in modeling real-world phenomena.

This principle has profound implications for data professionals: larger sample sizes consistently yield more reliable statistical patterns, even when dealing with inherently random processes. Whether you're analyzing customer behavior, financial markets, or scientific measurements, this relationship between sample size and statistical stability remains one of the most powerful tools in your analytical arsenal.