簡體   English   中英

具有非唯一值的帶有 groupby 的 Pandas qcut

[英]Pandas qcut with groupby with non-unique values

我正在嘗試對 Pandas 數據框進行分組,並在該分組上進行 qcut,以對分位數上的值進行分類。 問題是有些組只有一個值,所以 qcut 會抱怨ValueError: Bin edges must be unique 有沒有辦法簡單地忽略 groupby 和 qcut 上的這些情況?

我正在做類似的事情

df['quantile'] = df.groupby(['grouping'])['values'].transform(
                 lambda x: pd.qcut(x, 4))

我可以在兩級分組上這樣做

pd.qcut(df.groupby(['grouping', 'param1']).sum()['value'],[0.15,0.25,0.5,0.75,1.0], labels=['0.15', '0.25', '0.5', '0.75'])

但我不確定結果是每個組內參數grouping或整個數據幀的分位數。

在qcut 方法中,您可以設置duplicates='drop'。 這應該會為 qcut 轉換生成少量空值,您可以決定將其歸入您希望的任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM