首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中使用groupby划分两个数据帧

在Python中使用groupby划分两个数据帧
EN

Stack Overflow用户
提问于 2018-06-08 06:22:46
回答 1查看 373关注 0票数 1

我正在尝试弄清楚如何从不同的数据集中划分两列,通过一个公共键进行分组,以便获得百分比。

表1

代码语言:javascript
复制
 Index   ID        sum
    0   100001      7
    1   100002      8
    2   100003      4

表2

代码语言:javascript
复制
     Index    ID   TYPE     sum
        0   100001  A        7    
        1   100002  A        4    
        2   100002  B        4   
        3   100003  A        2    
        4   100003  B        2  

我想将变量sumtable 1除以sumtable 2除以IDTYPE分组。

我们的目标是获得下面的表格,它表示TYPEIDsum中所占的百分比。

表3

代码语言:javascript
复制
  Index  ID   TYPE  sum_percent
    0   100001  A     1.0
    1   100002  A     0.5
    2   100002  B     0.5
    3   100003  A     0.5
    4   100003  B     0.5

我尝试了一些代码来解决这个问题,比如下面这个问题,但它抛出了一个错误消息。似乎问题出在groupby语句中。

代码语言:javascript
复制
`table_1[['sum']].groupby('ID')/table_2[['sum']].groupby('ID')`
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 07:14:56

您不需要groupby;您的操作更接近于merge。在这种情况下,您可以从table1创建系列映射

代码语言:javascript
复制
s = table1.set_index('ID')['sum']

然后在table2中使用它进行计算

代码语言:javascript
复制
table2['sum_percent'] = table2['sum'] / table2['ID'].map(s)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750918

复制
相关文章

相似问题

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