Cambiar datos numéricos a datos categóricos – Pandas

Tengo un dataframe de pandas que tiene una columna numérica “cantidad”. La cantidad varía de 0 a 20000. Quiero cambiarlo a variable categórica que define un rango. Entonces, la variable categórica sería:

  1. Entre 0-1000 $
  2. Entre 1000-2000 $ y así sucesivamente .. hasta 19000-20000 $

No puedo averiguar cómo cambiar la columna. Puedo cambiarlo a valores binarios como este:

months["value"] = np.where(months['amount']>=450, 'yes', 'no') 

Pero, ¿cómo hacerlo para variable categórica teniendo más de 2 valores?

Puedes usar el cut :

 df = pd.DataFrame({'B':[4000,5000,4000,9000,5,11040]}) df['D'] = pd.cut(df['B'], range(0, 21000, 1000)) print (df) BD 0 4000 (3000, 4000] 1 5000 (4000, 5000] 2 4000 (3000, 4000] 3 9000 (8000, 9000] 4 5 (0, 1000] 5 11040 (11000, 12000]