当前位置: 首页 > news >正文

【python_pandas_将列表按照某几列进行分组,再求和,按照原列表的字段顺序返回】

说明:
1、按照[“行描述”,”‘公司代码’, ‘科目代码’, ‘预算项目代码’] 进行分组。
2、对“贷方”列进行求和。
3、最后按照之前的表头顺序进行排序,返回结果列表。

#-*- coding:utf-8-*import pandas as pd
def consolidate_salary_provisions(list1):header=(list1)[0]# 创建DataFramedf = pd.DataFrame(list1[1:], columns=header)# 将 '预算项目代码' 中的 None 值替换为 'Unknown'df['预算项目代码'] = df['预算项目代码'].fillna('Unknown')# 按省份分组,并计算人数和面积的合计数grouped = df.groupby(['行描述','公司代码',"科目代码","预算项目代码"]).agg({'贷方': 'sum','成本中心代码': 'first','借方': 'first',"产品":"first",'渠道段':'first','明细':'first','管理渠道':'first','管理':'first','部门':'first','现金流量项目':'first'}).reset_index()#排序grouped=grouped[header]# 将 '预算项目代码' 中的 'Unknown'替换为 None 值grouped['预算项目代码'] = grouped['预算项目代码'].replace('Unknown', None)# 将所有的 0 值替换为 Nonegrouped = grouped.replace(0, None)# 将结果转换为列表形式result_list = [header]+grouped.values.tolist()return result_list list1=[['行描述', '公司代码', '成本中心代码', '科目代码', '借方', '贷方', '预算项目代码', '产品', '渠道段', '明细', '管理渠道', '管理', '部门', '现金流量项目'], ['计提北京分公司2024年08月管理人员工资', '201001', None, 2211010101.0, None, 100, 'YS030101', None, None, None, None, None, None, None], ['计提北京分公司2024年08月管理人员工资', '201001', None, 2211010101.0, None, 200, 'YS030101', None, None, None, None, None, None, None], ['计提北京分公司2024年08月管理人员间接理赔费用', '201001', None, 2211010101.0, None, 300, 'YS030104', None, None, None, None, None, None, None]]print(consolidate_salary_provisions(list1))

结果:
在这里插入图片描述

http://www.lryc.cn/news/477921.html

相关文章:

  • Vue的双向绑定
  • 谷歌浏览器安装 Vue.js devtools 插件
  • LWIP通信协议UDP发送、接收源码解析
  • Linux—进程学习-01
  • FR动态数据源插件支持配置模板中某个数据集进行数据连接的切换
  • epoll 技术为什么用rbtree而不用hashmap呢?
  • 关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法
  • 公共命名空间,2024年11月的笔记
  • 登录功能设计(php+mysql)
  • 从0开始学习Linux——远程连接工具
  • Java线程6种生命周期及转换
  • 关于STM32在代码中的而GPIO里面的寄存器(ODR等)不需要宏定义的问题
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十七章 交叉编译QT工程
  • 高效率的快捷回复软件 —— 客服宝聊天助手
  • Node.js + MongoDB + Vue 3 全栈应用项目开发
  • 【云原生开发】如何通过client-go来操作K8S集群
  • CSS基础知识六(浮动的高度塌陷问题及解决方案)
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)
  • .net为什么要在单独的项目中定义扩展方法?C#
  • 动态规划 —— dp 问题-打家劫舍II
  • Java基础-组件及事件处理(上)
  • Python实例:爱心代码
  • 图解大模型训练系列:序列并行3,Ring Attention
  • pyspark基础准备
  • Netty报错
  • Kafka 之顺序消息
  • Kafka 之批量消息发送消费
  • 【大数据学习 | kafka】kafka的偏移量管理
  • 实景三维赋能森林防灭火指挥调度智慧化
  • 【C++课程学习】:string的模拟实现