首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中差为3(例如)位的组列值

python中差为3(例如)位的组列值
EN

Stack Overflow用户
提问于 2022-12-03 08:46:23
回答 1查看 24关注 0票数 0

我是python的新手,问题陈述类似于下面的数据作为数据。

代码语言:javascript
运行
复制
df = pd.DataFrame({'Diff':[1,1,2,3,4,4,5,6,7,7,8,9,9,10], 'value':[x,x,y,x,x,x,y,x,z,x,x,y,y,z]})
代码语言:javascript
运行
复制
Diff   value
1       x
1       x
2       y
3       x
4       x
4       x
5       y
6       x
7       z
7       x
8       x
9       y
9       y
10      z

我们需要将diff列分组为3(比方说),像0-3,3-6,6-9,>9,并且值应该是计数的。

预期产出就像

代码语言:javascript
运行
复制
Diff   x   y   z
0-3    2   1
3-6    3   1
6-9    3       1
>=9        2   1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-12-03 09:09:42

示例

示例代码是错误的。想要锻炼的人,请使用以下代码

代码语言:javascript
运行
复制
df = pd.DataFrame({'Diff':[1,1,2,3,4,4,5,6,7,7,8,9,9,10], 
                   'value':'x,x,y,x,x,x,y,x,z,x,x,y,y,z'.split(',')})

代码语言:javascript
运行
复制
labels = ['0-3', '3-6', '6-9', '>=9']
grouper = pd.cut(df['Diff'], bins=[0, 3, 6, 9, float('inf')], right=False, labels=labels)
pd.crosstab(grouper, df['value'])

产出:

代码语言:javascript
运行
复制
value   x   y   z
Diff            
0-3     2   1   0
3-6     3   1   0
6-9     3   0   1
>=9     0   2   1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74665214

复制
相关文章

相似问题

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