首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将列值转换为行,并根据另一列的值对它们进行分组

将列值转换为行,并根据另一列的值对它们进行分组
EN

Stack Overflow用户
提问于 2018-08-07 11:24:34
回答 2查看 64关注 0票数 2

我有一个像这样的数据文件:

代码语言:javascript
运行
复制
Value     group_id
23        1
28        1
32        1 
....
35        12
23        12
42        12

总共有6个唯一的group_id,每个都有几百个元素。我想把它转换成一个数据文件,它的值是单个“group_id”在一行中的值。所以我希望我的数据看起来像这样:

代码语言:javascript
运行
复制
value_1 value_2 value_3 group_id
23       28      32      1
....
35       23      42      12

我尝试使用pandas.melt和pandas.groupby,但是没有得到任何结果。

EN

Stack Overflow用户

回答已采纳

发布于 2018-08-07 12:27:50

您错过了'Value'在每个组中的位置。我们可以用groupby.cumcount创建它

代码语言:javascript
运行
复制
df.set_index(
    ['group_id', df.groupby('group_id').cumcount() + 1]
).Value.unstack().add_prefix('Value_').reset_index()

   group_id  Value_1  Value_2  Value_3
0         1       23       28       32
1        12       35       23       42
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51725616

复制
相关文章

相似问题

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