Я пытаюсь подсчитать Лобовое частоту различных периодов существующей dataframe для каждой сессии:счета категориальные значения и добавить полученный столбец в существующий dataframe
session time date period
1 05:51:53 2015-05-22 night
1 05:52:59 2015-05-22 night
1 06:08:24 2015-05-22 night
1 06:09:06 2015-05-22 night
1 08:25:31 2015-05-22 morning
2 08:25:35 2015-05-22 morning
2 08:26:37 2015-05-22 morning
2 08:27:11 2015-05-22 morning
2 12:33:17 2015-05-22 noon
3 12:33:45 2015-05-22 noon
для того, чтобы иметь что-то вроде:
session time date period frequency
1 05:51:53 2015-05-22 night 4
1 05:52:59 2015-05-22 night
1 06:08:24 2015-05-22 night
1 06:09:06 2015-05-22 night
1 08:25:31 2015-05-22 morning 1
2 08:25:35 2015-05-22 morning 3
2 08:26:37 2015-05-22 morning
2 08:27:11 2015-05-22 morning
2 12:33:17 2015-05-22 noon 1
3 12:33:45 2015-05-22 noon 1
Я использую этот метод
df['frequency'] = df.groupby('session', as_index=False)['period'].apply(lambda x: x.value_counts())
и у меня есть эта ошибка: TypeError: incompatible index of inserted column with frame index
, если я применяю .value_counts
непосредственно groupby
в
df['frequency'] = df.groupby('session', as_index=False)['period'].value_counts()
У меня есть ошибка, что groupby
метод не имеет атрибута value_counts
могли бы вы посоветовать мне, как II рассчитывать эти категориальные значения и в то же (я полагал, что as_index=False
управляет этой проблемой, но, по-видимому, нет)
Требуется ли значение частоты только для одной строки в группе? Любая проблема, если это для всех строк в группе? –
Я предпочитаю одно значение за каждое значение –
, наконец, этот ответ кажется лучшим на данный момент http://stackoverflow.com/questions/27192072/pandas-groupby-multiple-columns-then-attach-a-calculated-column-to- a-existing –