我有一个数据框,试图在其中计算按另一列中的ID分组的第一个四分位数(0.25)。
例如,在下面的代码段中,我想创建一个名为“四分位数1”的新列,分别为分组的ABC和DEF的第一个四分位数(0.25)值。
因此,所有ID为'ABC'的行都将具有相同的值(对于DEF同样如此)。
data = [item.text for item in soup.select('.sortable td')]
答案 0 :(得分:2)
transform
+ quantile
df['Quartile_1'] = df.groupby('ID').Values.transform('quantile', q=0.25)
ID Values Quartile_1
0 ABC 57 59.00
1 DEF 72 50.25
2 ABC 88 59.00
3 DEF 43 50.25
4 ABC 61 59.00