首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫切割法生成错误的值类别

熊猫切割法生成错误的值类别
EN

Stack Overflow用户
提问于 2019-07-15 14:15:37
回答 2查看 556关注 0票数 1

我有跟踪数据。

代码语言:javascript
运行
复制
d = {'id': [1, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], 'score': [23.4, 10.1,30.3,31.4,27.4,15.4,47.2,45.7,35.9,12.4,50.7,26.9,10.5,8.3,26.7,63.2,2.3,28.7,36.3,11.4]}
df = pd.DataFrame(data=d)

id  score
1   23.4
2   10.1
3   30.3
4   31.4
5   27.4
6   15.4
7   47.2
8   45.7
9   35.9
10  12.4
11  50.7
12  26.9
13  10.5
14  8.3
15  26.7
16  63.2
17  2.3
18  28.7
19  36.3
20  11.4

我正在创建范围为25的类别。

代码语言:javascript
运行
复制
score_range= ["[{0} - {1})".format(r, r + 25) for r in range(0, 100, 25)]
score_range
['[0 - 25)', '[25 - 50)', '[50 - 75)', '[75 - 100)']

我根据范围对列“分数”的值进行了分类,得到了以下输出:

代码语言:javascript
运行
复制
df['score_range'] = pd.cut(x=df['score'], bins=len(score_range), labels=score_range)
df
id  score   score_range
1   23.4    [25 - 50)
2   10.1    [0 - 25)
3   30.3    [25 - 50)
4   31.4    [25 - 50)
5   27.4    [25 - 50)
6   15.4    [0 - 25)
7   47.2    [50 - 75)
8   45.7    [50 - 75)
9   35.9    [50 - 75)
10  12.4    [0 - 25)
11  50.7    [75 - 100)
12  26.9    [25 - 50)
13  10.5    [0 - 25)
14  8.3 [0 - 25)
15  26.7    [25 - 50)
16  63.2    [75 - 100)
17  2.3 [0 - 25)
18  28.7    [25 - 50)
19  36.3    [50 - 75)
20  11.4    [0 - 25)

得分为47.2,45.7,35.9,36.3为50-75,63.2,50.7为75-100,这是不应该的。

47.2,45.7,35.9,36.3应降至25-50范围,63.2,50.7应降至50-75范围!

为什么Pandas.cut方法生成错误的类别?

EN

Stack Overflow用户

发布于 2019-07-15 14:20:33

为什么不使用pd.cut而不自行创建这些标签,同样,当您创建垃圾箱时,您可能需要为上边界添加一个垃圾箱大小。

代码语言:javascript
运行
复制
pd.cut(df.score, range(0, 125, 25))
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57041676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档