¿Por qué usar pandas qcut return ValueError: los bordes del contenedor deben ser únicos?

Tengo un conjunto de datos:

recency;frequency;monetary
21;156;41879955
13;88;16850284
8;74;79150488
2;74;26733719
9;55;16162365
...;...;...

detalle de datos brutos ->http://pastebin.com/beiEeS80 y puse enDataFrame y aquí está mi código completo:

df = pd.DataFrame(datas, columns=['userid', 'recency', 'frequency', 'monetary'])
df['recency'] = df['recency'].astype(float)
df['frequency'] = df['frequency'].astype(float)
df['monetary'] = df['monetary'].astype(float)

df['recency'] = pd.qcut(df['recency'].values, 5).codes + 1
df['frequency'] = pd.qcut(df['frequency'].values, 5).codes + 1
df['monetary'] = pd.qcut(df['monetary'].values, 5).codes + 1

pero es error de retorno

df['frequency'] = pd.qcut(df['frequency'].values, 5).codes + 1
ValueError: Bin edges must be unique: array([   1.,    1.,    2.,    4.,    9.,  156.])

¿Cómo resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta