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

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

Итак, с учетом приведенной ниже таблицы

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

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

ОТ ЭТОГО

enter image description here


FINALВЫХОД

enter image description here

Этот код предназначен для генерации данных примера выше

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

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

1 Ответ

0 голосов
/ 26 сентября 2018

Попробуйте

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...