**Mean Shift** is another clustering algorithm that doesn't require an estimate for the number of clusters. It has been successfully applied to image processing. The algorithm tries to iteratively find the maxima of a density function. Before demonstrating mean shift, we will average the rain data on a day-of-the-year basis using a pandas `DataFrame`

. Create the `DataFrame`

and average its data as follows:

df = pd.DataFrame.from_records(x.T, columns=['dates', 'rain']) df = df.groupby('dates').mean() df.plot()

The following plot is the result:

Cluster the data with the mean shift algorithm as follows:

x = np.vstack((np.arange(1, len(df) + 1) , df.as_matrix().ravel())) ...

Start Free Trial

No credit card required