wzeemy? 2022-05-17 17:39 采纳率: 87.5%
浏览 22
已结题

pandas遇到一个问题,我该如何将一个总表的值,减去某个子表的每条记录?(语言-python)

例如:有个总表记录了

每个教师需要对每个学生的家访次数:

df1 = pd.DataFrame({
    'teacher' : ["t1", "t2", "t1", "t2", "t2"],
    'student' : ["s1", "s2", "s3", "s3", "s1"],
    'numb' : [3, 2, 2, 4, 2]
})

另一个表记录了实际已经拜访的次数:

df2 = pd.DataFrame({
    'teacher' : ["t1", "t1", "t2", "t2"],
    'student' : ["s1", "s3", "s2", "s3"],
    'numb' : [2, 1, 1, 2]
})

我想得到剩余的家访次数df,该如何做呢..

  • 写回答

1条回答 默认 最新

  • 此人真菜 2022-05-18 10:48
    关注

    问题描述的很清晰,也能直接复制,怎么没人答

    df=pd.concat([df1.set_index(['teacher','student']),-df2.set_index(['teacher','student'])]).groupby(['teacher','student']).sum().reset_index()
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月17日