xxxxxxxxxx
import pandas as pd
# Way 1 : Equal cut
group_names = ['0-200K', '200K-500K', '500K+']
df['cat'] = pd.qcut(df['range_col'], q = 3, labels = group_names)
# Way 2 : More precise
ranges = [0,200000,500000,np.inf]
group_names = ['0-200K', '200K-500K', '500K+']
# Create income group column
df['cat'] = pd.cut(df['range_col'], bins=ranges, labels=group_names)
# Way 3 : Mapping
mapping = {'MALE':'M', 'Male':'M', 'FEMALE':'F', 'Female':'F'}
df['cat'] = df['string_col'].replace(mapping)