我有一个数据框,我试图在另一列中计算由ID分组的第一个四分位数(0.25)。
例如,在下面的摘要中,我想创建一个新的列,分别为ABC和DEF的第一个四分位数(0.25)值。
。因此,所有带有ID'ABC'的行都具有相同的值(对于DEF也是)。
df = pd.DataFrame({'ID': ['ABC', 'DEF', 'ABC', 'DEF', 'ABC'], 'Values': [57, 72, 88, 43, 61]})
df['Quartile 1'] =
Index ID Values Quartile_1
0 ABC 57
1 DEF 72
2 ABC 88
3 DEF 43
4 ABC 61
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