我试图按分位数对数值进行分组,并为落入分位数带的值之和创建列。这是一个简单,可重复的例子:
raw_data = {'female': [0, 1, 0, 1, 0, 1, 0, 1],
'male': [1, 0, 1, 0, 1, 0, 1, 0],
'number': [25000, 34000, 48600, 22000, 50000, 21000, 29000, 36000]}
df = pd.DataFrame(raw_data, columns = ['female', 'male', 'number'])
df
female male number
0 0 1 25000
1 1 0 34000
2 0 1 48600
3 1 0 22000
4 0 1 50000
5 1 0 21000
6 0 1 29000
7 1 0 36000
基本上我试图实现这个目标:
pd.DataFrame(df['number'].quantile([.1, .2, .3, .4, .5]))
number
0.1 21700
0.2 23200
0.3 25400
0.4 28200
0.5 31500
但是在这个数据框中显示了两个新列。一个用于男性总和的数量落入相应的分位数带,一个用于女性总和。
最初我认为这会是附加groupby
的{{1}},然后是.quantile([values])
但这并不起作用。可以实现我想要实现的目标吗?
答案 0 :(得分:0)