我是Python的新手。仍在学习列表理解。我有年龄作为连续的数字变量,我需要将其存储为0-10、10-20、20-30…90+。我将调用以下函数。我需要对数据中的100列使用不同的上下限值进行处理,这需要非常高效和简洁。有没有更好的方法可以做到这一点?
def createfactor(x,lower,upper,by,sep="-",above_char="+"):
labs = []
curr = lower
while curr < upper - by:
labs.append(str(curr) + sep + str(curr + by))
curr = curr + by
labs.append(str(upper - by) + above_char)
y = pandas.cut(x,bins=numpy.linspace(lower,upper/by+1),labels=labs)
return y