程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

熊猫如何对大范围的接近值进行分组

发布于2024-11-30 15:32     阅读(1018)     评论(0)     点赞(27)     收藏(0)


我有一些数据框,想将其中相对较近的值分组。

我尝试使用百分位数,但通常一个组中的值之间存在巨大差异。例如,列中有 1000 个值,如下所示

Values
1
1
2
2
3
3
4
5
...
200
...
30000
...
500000

当数据的百分位数 80 为 200,但百分位数 90 为 10000 时,就会出现问题

我尝试使用diff gt cumsum按静态值对它们进行分组,但当 90% 的值非常接近但剩下的 10% 的值大得多且分散时,结果并不总是对所有数据集都很好。

编辑:创建了一个小样本,百分位数就是这样的。

Percentile   Value
    0.10      4.00
    0.20     10.00
    0.30     34.00
    0.40     57.60
    0.50     91.00
    0.60    106.00
    0.70    158.80
    0.80    205.60
    0.90   9114.00

如果我将其分成 10 组,那么第 9 组和第 10 组将包含具有超过可接受差异的值。

这就是使用的样子 .diff().gt(100).cumsum()

values  groups
2       0
2       0
2       0
2       0
2       0
2       0
2       0
2       0
4       0
4       0
4       0
4       0
4       0
4       0
4       0
4       0
6       0
6       0
8       0
8       0
8       0
10      0
10      0
10      0
10      0
10      0
16      0
16      0
16      0
24      0
26      0
28      0
30      0
30      0
30      0
34      0
34      0
34      0
36      0
40      0
42      0
42      0
42      0
48      0
50      0
50      0
52      0
52      0
56      0
60      0
60      0
62      0
64      0
68      0
74      0
78      0
80      0
88      0
88      0
88      0
88      0
94      0
94      0
96      0
96      0
98      0
100     0
100     0
102     0
102     0
102     0
106     0
106     0
106     0
106     0
118     0
120     0
120     0
120     0
128     0
132     0
134     0
136     0
142     0
156     0
160     0
160     0
164     0
172     0
176     0
178     0
180     0
188     0
198     0
200     0
202     0
204     0
206     0
226     0
236     0
276     0
292     0
294     0
324     0
344     0
562     1
808     2
2626    3
3210    4
9770    5
12398   6
13300   7
15756   8
16000   9
16000   9
20000   10
20784   11
23500   12
32000   13
32000   13
42014   14
346046  15

在这种情况下,第 0 组应该进一步拆分,第 6-9 组可以合并,第 10-12 组可以合并。

理想情况下,组中的任何值都不应大于该组中任何其他值的 2 倍。


解决方案


暂无回答



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/2046220/5c1cfdc1560bf082b094/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

27 0
收藏该文
已收藏

评论内容:(最多支持255个字符)