首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将行值量化为组,并计算每个组的平均值。

将行值量化为组,并计算每个组的平均值。
EN

Stack Overflow用户
提问于 2018-10-18 11:11:29
回答 1查看 287关注 0票数 1

我想对我的数据做一些总结,可以是形式上的,

代码语言:javascript
运行
复制
A    B
------
10   2
20   4
5    6
5    8
9    14

我希望根据列B的值对这些行进行分组,方法是将它们量化为范围为5的组。因此,如果列B的某些值落在1-5范围内,则该行将属于该组。在这里的示例中,第1行和第2行属于组1-5,而第3和第4行属于组6-10。然后,每个组将变成仅包含A列值的一行。所以我们最终会

代码语言:javascript
运行
复制
A    B
------
15  1-5
5   6-10
9   11-15

如何才能在不重复每一行的情况下,对熊猫做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-18 11:21:39

cutarange一起用于回收箱,对标签进行列表理解,然后聚合mean

代码语言:javascript
运行
复制
bins = np.arange(0, 16, 5)
labels = [f'{i+1}-{j}' for i, j in zip(bins[:-1], bins[1:])] 

binned = pd.cut(df['B'], bins=bins, labels=labels)
df1 = df.groupby(binned)['A'].mean().reset_index()[['A','B']]
print (df1)

    A      B
0  15    1-5
1   5   6-10
2   9  11-15
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52872671

复制
相关文章

相似问题

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