[英]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.