首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建窗口或特定范围并在特定列上添加值

创建窗口或特定范围并在特定列上添加值
EN

Stack Overflow用户
提问于 2021-07-05 14:15:53
回答 1查看 31关注 0票数 0

我有一张这样的桌子:

代码语言:javascript
复制
position class supl score1 score2
1 3 2 15 18
2 2 5 18 13
3 4 5 13 18
4 6 9 15 12
. . . . .
. . . . .

100 5 9 12 09

我尝试在位置1-5的基础上分组,然后在同一窗口中添加分数。我试着做窗口,但困惑于如何在同一窗口中添加分数。我正在尝试获得如下输出:

代码语言:javascript
复制
position score1 score2
1-5 72 71
6-10 68 71
. . .
. . .
96-100 x x

我如何才能实现聚类数据并累积相应分数的目标。请分享你的想法,我将非常感谢你们所有人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-05 14:25:37

IIUC,这是通过pd.cut / groupby的一种方式

代码语言:javascript
复制
df = df.groupby(pd.cut(df.position ,bins=[i for i in range(0, df.position.max() + 1, 5)])).agg({'score1': sum , 'score2': sum}).reset_index()

另一种选择-(如果你已经按顺序排列了所有的位置):

代码语言:javascript
复制
df1 = df.groupby(df.position // 5).agg({'score1': sum , 'score2': sum}).reset_index()
df1.position = df1.position.astype(str) + '-' + df1.position.add(4).astype(str)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68251453

复制
相关文章

相似问题

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