我想在pysparkDataframe列上创建一个包含值范围和特定值的bin
在这篇文章中,如何在pyspark中使用bin?它解释了如何制作箱子,但它只适用于值的范围,从0到6,从6到18,等等,我只想有一个箱子用于特定的值,例如,我想要从0到5,5到9,10,11到20,21和更多的箱子
+-----------+
| Age | Bin |
+-----------+
| 4 | 1 |
| 10 | 3 |
| 6 | 2 |
| 40 | 5 |
| 2 | 1 |
| 8 | 2 |
+-----------+
我试过了
splits = [ 0, 5, 9, 10, 10, 11, float('Inf') ]
但它给出了一个错误
我用了一个公差,使垃圾箱只有10个,但我想知道是否有更好的办法
tol= 1.0e-10
splits = [ 0, 5, 9, 10, 10+tol, 11, float('Inf') ]
1条答案
按热度按时间zlwx9yxi1#
您可以手动指定
CASE WHEN
装箱栏: