我有一个带有客户的列activity_percentage的数据文件。这个范围从0到100%.现在,我想为每个百分比创建bin,但是我的当前方法将要求我手动创建100个回收箱,这可能不是最好的方法。我如何才能以更有规划的方式实现这一点?
def conditions(x):
if x >=0 and x<=0.01: return "0-1%"
elif x >0.01 and x<=0.02: return "1-2%"
elif x >0.02 and x<=0.03: return "2-3%"
.... return 99-100%
else:
return "error"
发布于 2022-08-08 04:21:17
这将允许您选择要查看的增量。首先,找到value
* 100的其余部分除以increment
,然后将该数字乘以increment
,得到增量的底部范围。如果底部范围小于100,则将底部范围打印到底部范围加上您的increment
。如果底部的范围是100 (因为您不想将其放在例如100% -107%中),那么返回一条“错误”消息,如果值将放在100%以上的范围内。
def conditions(value, increment):
bottomRange = value*100 // increment * increment
if value > 1:
return("Error")
elif (bottomRange + increment) <= 100:
return f"{bottomRange} - {bottomRange+increment}%"
elif (bottomRange + increment) > 100 or value == 1:
return f"{bottomRange} - 100%"
conditions(0.62, 10) # output: '60.0 - 70.0%'
conditions(0.05, 3) # output: '3.0 - 6.0%'
conditions(0.98, 7) # output: '98.0 - 100%'
https://stackoverflow.com/questions/73272778
复制相似问题