pandas ^{
cut (weight, bins=[10,50,100,200])
将产生垃圾箱:
[(10, 50] < (50, 100] < (100, 200]]
所以cut (250, bins=[10,50,100,200])
会产生NaN
,也会产生cut (5, bins=[10,50,100,200])
。我要做的是为第一个示例生成> 200
,为第二个示例生成< 10
。
我知道我可以做cut (weight, bins=[float("inf"),10,50,100,200,float("inf")])
或类似的工作,但是我所遵循的报表样式不允许像(200, inf]
这样的事情。我也意识到我可以通过cut()
上的labels
参数指定自定义标签,但这意味着每次调整bins
时都要记住调整它们,这可能是经常的。
我是否已经用尽了所有的可能性,或者在cut()
或者pandas
的其他地方有什么东西可以帮助我做到这一点?我正在考虑为cut()
编写一个包装函数,它将自动从容器中生成所需格式的标签,但我想先检查一下这里。
您可以在bin列表中使用
float("inf")
作为上限,使用-float("inf")
作为下限。它将删除NaN值。在等待了几天之后,仍然没有发布任何答案——我想这可能是因为除了编写
cut()
包装器函数之外,实在没有别的办法来解决这个问题。我在这里发布我的版本,并将问题标记为已回答。如果有新的答案,我会改的。相关问题 更多 >
编程相关推荐