Я думаю, что это Interval
, а не строка, поэтому возможное решение:
i = pd.Interval(7.4,7.65, closed='right')
df12['PSRO_SPEED']=df12['PSRO_SPEED'].map({i: 'high_speed'})
Или для вашего решения необходимо преобразовать столбец в строку:
df12['PSRO_SPEED']=df12['PSRO_SPEED'].astype(str).map({'(7.4,7.65]': 'high_speed'})
Но лучше добавить параметр label
в cut
:
bins = [7.4,7.65,7.9,8.15,8.4,8.65]
labels = ['lowest','low','medium','great','greatest']
df12['binned'] = pd.cut(df12['PSRO'], bins=bins, labels=labels)