hello_world__py 2022-08-15 15:34 采纳率: 80%
浏览 71
已结题

pandas的merge和loc使用问题

各位巨佬好,我写了一个代码,对两个表先各自groupby和pivot后再拼接到一起。现在遇到两个问题:
1、拼接以后,各自的金额会少不全
2、groupby里需要加一个列的筛选,我用了loc以后老是报错

代码如下
df_new1=df.groupby(['一级部门','二级部门']).agg(库存金额=('总额',sum)).reset_index()
df_new2=df5.pivot_table(index=['一级部门','二级部门'],columns=['事业部分类'],values=['订单额'],aggfunc=['sum'])
df_new2.columns=df_new2.columns.droplevel(0)
df_new3=pd.merge(df_new1,df_new2,on=['一级部门', '二级部门'])
df_new3.to_excel('部门订单和库存金额.xlsx',index=None)

我做好df_new3以后导出excel的部门的库存和订单金额会少,发现是有的部门只有库存(或订单)的话,这样的部门就没显示出来,想看下怎么解决
另外我想在df_new1里加个筛选,用了loc不太行,想看下怎么解决
df_new1=df.loc[df['部门状态']='存续中'].groupby(['一级部门','二级部门']).agg(库存金额=('总额',sum)).reset_index()

  • 写回答

3条回答 默认 最新

  • greatofdream 2022-08-15 17:18
    关注
    获得7.50元问题酬金

    筛选时少了=号

    df_new1=df.loc[df['部门状态']=='存续中'].
    

    如果df2中的部门一定会包含所有df1的部门,可以在merge时加上参数

    df_new3=pd.merge(df_new1,df_new2,on=['一级部门', '二级部门'],how='right')
    
    评论

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 创建了问题 8月15日

悬赏问题

  • ¥15 音量自动减小啦!日历自动翻页
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?