Каков наилучший способ пометить новые категории внутри функции?

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

есть ли способ вручную назначить числовые метки для объекта, разделенного на ячейки?

Я пробовал:

 data['AgeBin'] = pd.cut(data['Age'].astype(int), 5, labels = [1,2,3,4,5])
  

и хотя метки должны определяться как целое число, на самом деле они выглядят как строка.

Я переназначил, используя

 age_mapping = {'1':1, '2':2, ...}
data['AgeBin'].map(age_mapping)
  

который работает, но мне действительно любопытно, есть ли лучший способ без использования LabelEncoder, поскольку я хочу сохранить обычность для своей функции, и я хотел бы избежать OHE здесь.

Мне также было интересно создать счетчик плотности возраста, но, честно говоря, я не уверен, как это написать.

Комментарии:

1. «и хотя метки должны определяться как целое число, на самом деле они выглядят как строка», но это не похоже на это??

2. data["AgeBin"].values Out: Categories (5, int64): [1 < 2 < 3 < 4 < 5] категории на самом деле упорядочены (конечно, у меня нет вашего набора данных).

3. Что касается части возрастной плотности. Я не уверен, о чем вы спрашиваете. Что-то вроде этого? sum(data["AgeBin"][data["AgeBin"]==1])/len(data)