# How to make a gaussian distribution in python considering mean. variance. skewness and kurtosis?

np.random.normal(mean,sigma,size) allows to create a gaussian distribution based only on mean and variance. I want to create a distribution based on function_name(mean,sigma,skew,kurtosis,size).

I tried scipy.stats.gengamma but I don't understand how to use it. It takes 2 parameters - a,c and creates a distribution. But it is difficult to interpret for what values of a & c, the function will give a particular value of skewness and kurtosis.

Can anyone explain how to use gengamma or any other way to create such a distribution in python, even from scratch by writing mathematical equations?

Edit: By Gaussian, I mean that I want the distribution to be normal with some skewness or kurtosis as well. It need not be a standard normal distribution.

• Reading your edit, I want to mention that every normal distribution has a skewness of $0$, a kurtosis of $3$, and an excess kurtosis of $0$. (I think scipy.stats.kurtosis calculates excess kurtosis.) If these are not the skewness, kurtosis, and excess kurtosis values of your distribution, your distribution is not normal. So what do you mean when you says you want a skewed normal distribution?
– Dave
Commented May 13, 2021 at 2:58