首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据pandas中的数值范围添加累加值

根据pandas中的数值范围添加累加值
EN

Stack Overflow用户
提问于 2021-11-12 17:45:22
回答 2查看 36关注 0票数 1

我需要一些建议。我有一个数据帧,我想将列'a‘中的数据重新分类,以便如果它落在一个范围( 0 -4、5-9、10-14等)内,则将其分为5组,并创建一个具有从0开始的累加值的新列'b’,该列将表示该范围

如果数据帧是这个

代码语言:javascript
复制
df = pd.DataFrame(data={'a': [9,5,4,2,7,5,6,19,2,0,8,21,14]})

列b应如下所示

代码语言:javascript
复制
df['b'] = [1,1,0,0,1,1,1,3,0,0,1,4,2]

我想不出来,所以任何的指针都是很棒的,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-12 17:54:25

您的预期输出不是很清楚,但我相信您正在寻找类似以下内容:

代码语言:javascript
复制
df['b'] = round(df['a'] / 5)

或者可能是这样(截断,而不是舍入):

代码语言:javascript
复制
df['b'] = df['a'] // 5
票数 2
EN

Stack Overflow用户

发布于 2021-11-12 18:05:12

代码语言:javascript
复制
df = pd.DataFrame(data={'a': [9,5,4,2,7,5,6,19,2,0,8,21,14]})
df['b'] = df.apply(lambda x : pd.cut(x,[-1,4,9,14,19,23],labels=[0,1,2,3,4]))
print(df)

输出:

代码语言:javascript
复制
     a  b
0    9  1
1    5  1
2    4  0
3    2  0
4    7  1
5    5  1
6    6  1
7   19  3
8    2  0
9    0  0
10   8  1
11  21  4
12  14  2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69947054

复制
相关文章

相似问题

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