gpt4 book ai didi

python - "Bin labels must be one fewer than the number of bin edges"通过 pd.qcut 重复后 = 'drop' kwarg

转载 作者:行者123 更新时间:2023-12-04 11:45:37 24 4
gpt4 key购买 nike

我有一个 df有数十万行,我正在创建一个新的数据框,它只包含某些值组的行的最高分位数:

quantiles = (df.groupby(['Person', 'Date'])['Value'].apply(lambda x: pd.qcut(x, 4, labels=[0, 0.25, 0.5, 1], duplicates='drop')))

当我运行它时,我得到:
ValueError: Bin labels must be one fewer than the number of bin edges

尝试更改 bins的号码后至 5我仍然遇到同样的错误。

我怎样才能解决这个问题?

最佳答案

我遇到了同样的问题,我这样做是为了克服它。
bins = 数据被切片的次数
标签 = 您使用标签进行分类的范围。

This error appears when labels > bins


按着这些次序:
步。 1:一开始不要传递标签
train['MasVnrArea'] = pd.qcut(train['MasVnrArea'],
q=5,duplicates='drop')
这将导致:
(-0.001, 16.0]     880
(205.2, 1600.0] 292
(16.0, 205.2] 288
Name: MasVnrArea, dtype: int64
第2步:
现在我们可以看到在 binned 上只有三个类别是可能的。
因此,相应地分配标签。就我而言,它是 3。所以我传递了 3 个标签。
bin_labels_MasVnrArea = ['Platinum_MasVnrArea', 
'Diamond_MasVnrArea','Supreme_MasVnrArea']
train['MasVnrArea'] = pd.qcut(train['MasVnrArea'],
q=5,labels=bin_labels_MasVnrArea,duplicates='drop')
请在垃圾箱上观看此视频,以便清楚了解。
https://www.youtube.com/watch?v=HofOMf8RgjM

关于python - "Bin labels must be one fewer than the number of bin edges"通过 pd.qcut 重复后 = 'drop' kwarg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59482017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com