我想首先得到第三个按分组的分位数(本例中为group和level)。你知道吗
d = pd.DataFrame({'customer': ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
'group': ['A', 'B', 'B', 'A', 'B', 'A', 'B', 'A', 'B', 'A'],
'level': ['Z', 'X', 'X', 'X', 'Z', 'Z', 'Z', 'X', 'X', 'Z'],
'value': [0.4, 0.6, 0.7, 0.6, 0.3, 0.5, 0.2, 0.7, 0.5, 0.2]})
d.groupby(['group', 'level']).quantile(0.75)
现在我有了每组的分位数。我想基于groupby值在原始df上添加一列。你知道吗
0.75 value
group level
A X 0.67
Z 0.45
B X 0.65
Z 0.27
结果是这样的,我会添加一个新的列,如果值高于分位数,那么我会添加1,如果值低于分位数,那么添加0。你知道吗
customer group level value new
1 A Z 0.40 1
2 B X 0.60 0
谢谢
IIUC公司:
只使用
lt
和索引匹配相关问题 更多 >
编程相关推荐