Я пытаюсь отметить частоту идентичного значения (года) в кадре данных и показать его в виде столбца в исходном кадре данных. До этого мне нужно сгруппировать все строки на основе другого столбца. Это фиктивные данные, в принципе у меня еще много столбцов и строк. Это то, что я сделал, но я не знаю, как отобразить его обратно на исходный кадр данных (в отдельный столбец)
data1 = [[1, 'Tom', 1987], [1, 'Bill', 1987], [1, 'Andrew', 1988],[2, 'Ann', 1994], [2, 'Olya', 1984], [2, 'Andrew', 1984], [2, 'Tony', 1989]]
df1 = pd.DataFrame(data1, columns = ['group', 'name', 'year'])
unique_year = df1.groupby(['group'])['year'].apply(lambda s: s.value_counts())
freq = unique_year.to_frame()
freq
group year
1 1987 2
1988 1
2 1984 2
1994 1
1989 1
Это желаемый результат:
group name year year_frequency
1 Tom 1987 2
1 Bill 1987 2
1 Andrew 1988 1
2 Ann 1994 1
2 Olya 1984 2
2 Andrew 1984 2
2 Tony 1989 1
Прошу прощения за отсутствие ясности, я очень плохо знаком с pandas.