I have a data vectors, i want a statistical threshold to separate the larger data from the smallest,

the data which has a small values is much more than that of higher values.

example

this is just an example of the data, the real one contains more than 3000 values, I tried to use adaptive thresholds for different segments of data, I used the mean, the standard deviation, the data range with a percentage threshold, but i couldn't find an optimal solution to solve the whole data of 3000 values.

1.9995 7.1683 3.4286 1.4680 3.1026 10.063 12.978 0.2518 2.5632 9.3045 5.1409 1.1950 6.9824 8.2695 3.8856 10.506 15.450 21.406

is there any statistical equation or behaviour can separate the larger values from the smaller ones (the variance is high between the two groups)

Thanks