我正在尝试根据具有该项目数量的另一列单独为每个分组数据组分配十分位数索引。但是我显示错误“ValueError:Bin edge必须是唯一的:array([-12。,1 ...])”exception“。
我提到:Why use pandas qcut return ValueError: Bin edges must be unique?但是这个解决方案会为我的数据生成高度不均匀的二进制数(一些二进制计数差异接近1000条记录),其中一些二进制文件有0次出现。
如何解决此错误?
答案 0 :(得分:0)
让我们看看这个例子:
df = pd.DataFrame({'ID':np.random.choice(list('ABC'),30),
'data':np.random.randint(100,500,30)})
df['Performance in Group'] = (df.groupby('ID')['data']
.apply(lambda x: pd.qcut(x,3,labels=['Below','Average','Above'])))
输出(头10条记录):
ID data Performance in Group
0 A 396 Above
1 A 255 Average
2 C 471 Above
3 C 109 Below
4 B 265 Average
5 C 404 Average
6 A 199 Below
7 C 326 Average
8 C 213 Below
9 C 225 Average