如何在python中使用pd.qut创建新的Bin/Bucket变量?
对于经验丰富的用户来说,这似乎很基本,但是我对此并不十分清楚,并且在堆栈溢出/google上进行搜索非常不直观。一些彻底的搜索产生了这个(Assignment of qcut as new column),但是它没有完全回答我的问题,因为它没有采取最后一步并将所有内容放入垃圾箱(即1,2,...)。
最佳答案
在Pandas 0.15.0或更高版本中,如果输入是Series(如果是您的情况)或pd.qcut
,则 labels=False
将返回Series,而不是Categorical。如果设置labels=False
,则qcut
将返回一个以bin的整数指示符作为值的Series。
因此,为了使您的代码适应 future 需求,您可以使用
data3['bins_spd'] = pd.qcut(data3['spd_pct'], 5, labels=False)
或者,将NumPy数组传递给
pd.qcut
,以便获得“分类”作为返回值。注意分类属性
labels
is deprecated。使用codes
代替:data3['bins_spd'] = pd.qcut(data3['spd_pct'].values, 5).codes
关于Python Pandas使用pd.qcut创建新的Bin/Bucket变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28442991/