目前,我面临的问题是如何dataframe根据变量中存在的值将a分组到不同的bin中。
以下是我的数据
df[['col','val']]
Out[490]:
col val
0 65 0
1 6 0
2 23 0
3 6 0
4 19 0
5 10 0
6 30 0
7 64 0
8 4 0
9 3 0
10 6 0
11 5 0
12 9 0
13 10 0
14 11 0
15 1 0
16 0 0
17 0 1
18 4 0
19 2 0
我使用cut获得的输出是给出这些输出
df['bins'] = pd.cut(df['col'], binsize)
bins val
0 (-0.065, 13.0] 1
1 (13.0, 26.0] 0
2 (26.0, 39.0] 0
4 (52.0, 65.0] 0
我希望得到的是这些输出
col Value
(0, 2] 1
(3, 5] 0
(6, 9] 0
(10, 19] 0
(23, 65] 0
解决办法:目前我正在使用以下SAS代码来存储它,但是想要转换为python
&allweights = count of of rows in dataset
weight = 1;
binsize = 5;
data temp;
set temp nobs=numobs;
by dataset;
retain group nn;
nn = sum(nn,weight);
if first.&x then do;
group = floor(nn*binsize/(&allweights+1));
end;
run;








暂无数据