У меня есть данные из 4 столбцов textID, A, B, C
Я хотел бы создать объект groupby, а затем вычислить 5-й процентиль в столбце C, а затем добавить этот столбец (называемый «квантилем») обратно в исходный кадр данных.
У меня есть следующий код, который работает, когда groupby находится на одном столбце
df2['quantile']=df2.C.groupby(df2.itextID).transform(lambda x:
x.quantile(q=0.5))
Вопрос 1:
Как это можно расширить, чтобы объект groupby теперь использовал два столбца, т.е. textID & A?
Вопрос 2:
Можно ли сначала создать объект groupby, а затем применить преобразование?
т.е.
### Create groupby object Extract top 4 rows in each group
grp = df2.groupby('textID').head(4)
??? how to apply the transform to column C?
Спасибо
(Можно ли использовать обозначение в квадратных скобках вместо точки?)