2017-07-31 27 views
0

我試圖根據具有該項目的數量的另一列單獨分配每個分組數據的十分位數索引。但是我顯示錯誤「ValueError:Bin邊緣必須是唯一的:數組([-12。,1 ...])」異常「qcut如何處理具有非唯一bin邊的分組數據?

我提到:Why use pandas qcut return ValueError: Bin edges must be unique?但是,此解決方案會生成高度不均勻的分檔。之間的一些箱數近1000條記錄)我與具有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 
+0

@aagamshah對此解決方案有幫助嗎? –

相關問題