В функции R ddply вы можете вычислять любые новые столбцы по группам и добавлять результат к исходному фреймворку данных, например:
ddply(mtcars, .(cyl), transform, n=length(cyl)) # n is appended to the df
В Python/ pandas я сначала вычислил его, а затем объединил, например:
df1 = mtcars.groupby("cyl").apply(lambda x: Series(x["cyl"].count(), index=["n"])).reset_index()
mtcars = pd.merge(mtcars, df1, on=["cyl"])
или что-то в этом роде.
Тем не менее, я всегда чувствую, что это довольно сложно, так что можно сделать все это раз?
Спасибо.