Chi-Square Distribution in NumPy Last Updated : 22 Apr, 2025 Comments Improve Suggest changes Like Article Like Report The Chi-Square Distribution is used in statistics when we add up the squares of independent random numbers that follow a standard normal distribution. It is used in hypothesis testing to check whether observed data fits a particular distribution or not. In Python you can use the numpy.random.chisquare() function to generate random numbers that follow Chi-Square Distribution. Syntax: numpy.random.chisquare(df, size=None)df: Degrees of freedom (denoted by k) which affects the shape of the distribution.size: The number of random numbers you want to generate or the shape of the returned array.Example 1: Generate a Single Random NumberTo generate a single random number from a Chi-Square Distribution with df=2 (degrees of freedom): Python import numpy as np random_number = np.random.chisquare(df=2) print(random_number) Output :4.416454073420925Example 2: Generate an Array of Random NumbersTo generate multiple random numbers: Python random_numbers = np.random.chisquare(df=2, size=5) print(random_numbers) Output :[0.66656494 3.55985755 1.78678662 1.53405371 4.61716372]Visualizing the Chi-Square DistributionVisualizing the generated numbers helps to understand the behavior of the Chi-Square distribution. You can plot a histogram or a density plot using libraries like Matplotlib and Seaborn. Python import numpy as np import matplotlib.pyplot as plt import seaborn as sns df = 1 size = 1000 data = np.random.chisquare(df=df, size=size) sns.displot(data, kind="kde", color='purple', label=f'Chi-Square (df={df})') plt.title(f"Chi-Square Distribution (df={df})") plt.xlabel("Value") plt.ylabel("Density") plt.legend() plt.grid(True) plt.show() Output: Chi-Square DistributionThe above chart shows the shape of the Chi-Square distribution for df = 1:The x-axis represents the values generated.The y-axis shows the density (how often values occur).With df = 1 the curve is skewed to the right meaning lower values occur more frequently and higher values become rarer. Comment More infoAdvertise with us Next Article Chi-Square Distribution in NumPy J Jitender_1998 Follow Improve Article Tags : Python Python-numpy Python numpy-Random Practice Tags : python Similar Reads Binomial Distribution in NumPy The Binomial Distribution is a fundamental concept in probability and statistics. It models the number of successes in a fixed number of independent trials where each trial has only two possible outcomes: success or failure. This distribution is widely used in scenarios like coin flips, quality cont 2 min read Normal Distribution in NumPy The Normal Distribution also known as the Gaussian Distribution is one of the most important distributions in statistics and data science. It is widely used to model real-world phenomena such as IQ scores, heart rates, test results and many other naturally occurring events.numpy.random.normal() Meth 2 min read Python - Non-Central Chi-squared Distribution in Statistics scipy.stats.ncx2() is a non-central chi-squared continuous random variable. It is inherited from the of generic methods as an instance of the rv_continuous class. It completes the methods with details specific for this particular distribution. Parameters : q : lower and upper tail probability x : qu 2 min read Python - Wrapped Cauchy Distribution in Statistics scipy.stats.wrapcauchy() is a wrapped Cauchy continuous random variable. It is inherited from the of generic methods as an instance of the rv_continuous class. It completes the methods with details specific for this particular distribution. Parameters : q : lower and upper tail probability x : quant 2 min read Python - Normal Distribution in Statistics A probability distribution determines the probability of all the outcomes a random variable takes. The distribution can either be continuous or discrete distribution depending upon the values that a random variable takes. There are several types of probability distribution like Normal distribution, 6 min read Like