Как создать новый столбец, сгруппированный из другого столбца (например, возрастная группа по возрасту)

1

Мне нужна помощь в решении этой проблемы, я проверил, но пока не видел ответа.
У меня есть столбец разных возрастов, тогда я хочу создать новый столбец, основанный на частоте разных возрастов в столбце возраста.

Поэтому, учитывая приведенную ниже таблицу

возраст 11 происходит 4 раза
возраст 21 происходит 3 раза
возраст 8 происходит 2 раза
возраст 15 и 43 происходит только один раз

Я пытаюсь сделать новый столбец "freq", чтобы содержать частоту для каждого возраста.

ИЗ ЭТОГО

Изображение 174551


ЗАКЛЮЧИТЕЛЬНЫЙ ВЫХОД

Изображение 174551

этот код должен генерировать данные выборки выше

train1 = pd.DataFrame(columns=['age','gender'])
train1.loc[0] = np.array([11, 'male'])
train1.loc[1] = np.array([21,'male' ])
train1.loc[2] = np.array([15,'female'])
train1.loc[3] = np.array([11,'female' ])
train1.loc[4] = np.array([21,'male'])
train1.loc[5] = np.array([8,'female'])
train1.loc[6] = np.array([11,'female'])
train1.loc[7] = np.array([43,'male'])
train1.loc[8] = np.array([21,'male'])
train1.loc[9] = np.array([8,'female'])
train1.loc[10] = np.array([11,'female'])
train1['age'] = train1['age'].astype(int)
train1

Я бы очень признателен за любую помощь, которую я могу получить

Теги:
pandas-groupby

1 ответ

1
Лучший ответ

Пытаться

train1['freq'] = train1.age.map(train1.age.value_counts())

  • 1
    Благодарю. это решило это

Ещё вопросы

Сообщество Overcoder
Наверх
Меню