#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)