k-means classifies one data point as a group I have 1000 sets of one dimensional data (360 each in length), and I want k means to classify what is a small/medium/large value (n_clusters=3) for each set of data, but I'm getting a lot of instances where the large group only has 1 data point because that value is so far away from the rest, but the rest look like they can clearly create 3 clusters. 

In some other cases, it does seem to make sense to use 1 data point as the large group since the rest are so close together. It's not clear if there can be 3 distinctive clusters.

What would be an efficient way to deal with this?
Two ideas come to mind, which could be combined or not.


Try to identify the single point as an outlier, and remove it from consideration for the clustering.
Allow $k$ to vary a little.


Using both and allowing $k\in\{2,3\}$ allows you to find only two groups in the main set of points, plus the outlier.  Using just (2) with $k\in\{3,4\}$ could find clusters Low/Med/Large/Outlier...that has the nicety that outlier detection is done by the k-means algorithm rather than another preprocessing step, but runs the risk of finding four honest clusters when you only wanted three.