Kernel Density Estimation

Similar to Histogram but it estimates a continous PDF.

It is defined as with smoothing parameter, and the kernel function, in most cases Standard Normal Distribution and the scaled kernel.

Make sure to play around with the smoothness parameter to see what works best as it might wash out the data too much if it was chosen too big.

Can be used to spot Outliers the same way it would work with a Histogram.

Simple Python Implementation

def kde(x, data, h):
    s = 0
    for xx in data:
        s += normpdf((x-xx)/h, 0, 1)
    return 1/(len(data)*h)*s