我正在使用Pandas中的Qcut来将我的数据离散化为等大小的桶。我想要价格桶。这是我的DataFrame:
productId sell_prix categ popularity
11997 16758760.0 28.75 50 524137.0
11998 16758760.0 28.75 50 166795.0
13154 16782105.0 24.60 50 126890.5
13761 16790082.0 65.00 50 245437.0
13762 16790082.0 65.00 50 245242.0
15355 16792720.0 29.00 50 360219.0
15356 16792720.0 29.00 50 360100.0
15357 16792720.0 29.00 50 360027.0
15358 16792720.0 29.00 50 462850.0
15367 16792728.0 29.00 50 193030.5
这是我的代码:
而这是我的代码:
df['PriceBucket'] = pd.qcut(df['sell_prix'], 3)
我有一个错误信息:
我有这个错误信息:
**ValueError: Bin edges must be unique: array([ 24.6, 29. , 29. , 65. ])**
实际上,我有一个包含7413行的DataFrame。所以这只是真实DataFrame的一个样本。奇怪的是,当我使用包含359824行的DataFrame并且数据几乎相同的代码时,它可以正常工作! DataFrame的长度是否有任何关联?请帮忙!非常感谢。
df['PriceBucket'] = pd.qcut(df['sell_prix'].sort_values(), 3)
- EdChum