根据ID计算四分位数

时间:2019-03-04 20:51:32

标签: python pandas numpy dataframe quartile

我有一个数据框,试图在其中计算按另一列中的ID分组的第一个四分位数(0.25)。

例如,在下面的代码段中,我想创建一个名为“四分位数1”的新列,分别为分组的ABC和DEF的第一个四分位数(0.25)值。

因此,所有ID为'ABC'的行都将具有相同的值(对于DEF同样如此)。

data = [item.text for item in soup.select('.sortable td')]

1 个答案:

答案 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