您可以使用高斯混合模型之类的方法来做到这一点。这是一个例子-
import numpy as np
import pandas as pd
from sklearn.mixture import GaussianMixture
%matplotlib inline
#Sample data
x = [0,200,2,1,0,1,4,4,6,14,25,43,71,93,123,194,192]
num_components = 3
#Fit a model onto the data
data = np.array(x).reshape(-1,1)
model = GaussianMixture(n_components=num_components).fit(data)
clusters = model.predict(data)
df = pd.DataFrame(list(zip(x, clusters)), columns=['data', 'clusters'])
print(df)
data clusters
0 0 0
1 200 1
2 2 0
3 1 0
4 0 0
5 1 0
6 4 0
7 4 0
8 6 0
9 14 2
10 25 2
11 43 2
12 71 2
13 93 2
14 123 2
15 194 1
16 192 1