[英]pandas.cut function gave me negative values when it is suppose to be 0
如评论中所述,您要求cut
自动为您定义 bins,默认情况下它们的宽度相等,这意味着可以有负边界。
如果您希望保持自动分箱,您可以在之后手动修改间隔。 以下是仅第一个“不正确”间隔的示例,使用cat.rename_categories
:
np.random.seed(0)
s = pd.Series(np.random.randint(-10,100,size=100)).clip(lower=0)
s_cut = pd.cut(s, bins=10)
print(s_cut.cat.categories)
first_I = s_cut.cat.categories[0]
new_I = pd.Interval(0, first_I.right)
s_cut = s_cut.cat.rename_categories({first_I: new_I})
print(s_cut.cat.categories)
output:
# before
IntervalIndex([(-0.095, 9.5], (9.5, 19.0], (19.0, 28.5], ...)
# after
IntervalIndex([(0.0, 9.5], (9.5, 19.0], (19.0, 28.5], ...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.