一、需求描述: 如下Excel数据 需要按 ASIN、SKU、品名、店铺 对 1-31 的列进行分组求和,实际数据是有很多重复的SKU数据

二、代码实现

import pandas as pd

# 从Excel获取数据
df = pd.read_excel(r'C:\\Users\\liuchunlin2\\Desktop\\预警信息汇总.xlsx', sheet_name='Sheet1')
"""
使用pandas库中的read_excel()函数从指定的Excel文件中读取数据。
r'C:\\Users\\liuchunlin2\\Desktop\\预警信息汇总.xlsx'为文件路径,需根据实际情况修改。
sheet_name='Sheet1'表示读取Excel文件中名为'Sheet1'的工作表。
读取的数据存储在一个DataFrame对象df中。
""" # 列数据为空的用0填充
df = df.fillna(0)
"""
使用fillna()函数将数据框df中的空值(NaN)替换为0,以确保数据框中没有空值。
""" my_list = list(range(1, 32))
"""
使用list()函数和range()函数生成一个包含1到31的整数列表my_list。
这里生成的整数列表是为了后续分组聚合操作使用。
""" # 打印列表
print(my_list)
"""
使用print()函数打印my_list列表,便于查看生成的整数列表。
""" # 对数据进行分组聚合操作
grouped_df = df.groupby(['ASIN', 'SKU', '品名', '店铺'])[my_list].sum().reset_index()
"""
使用groupby()函数对数据框df进行分组聚合操作。
['ASIN', 'SKU', '品名', '店铺']是按照这些列进行分组。
[my_list]表示对整数列表中的列进行求和。
sum()表示对这些列进行求和操作。
reset_index()用于重置索引,使分组后的数据重新建立索引。
分组聚合操作后的结果存储在grouped_df数据框中。
""" # 将处理后的数据保存到Excel文件中
grouped_df.to_excel(r'C:\\Users\\liuchunlin2\\Desktop\\预警信息汇总2.xlsx', index=False)
"""
使用to_excel()函数将处理后的数据保存到Excel文件中。
r'C:\\Users\\liuchunlin2\\Desktop\\预警信息汇总2.xlsx'为保存的路径和文件名,需根据实际情况修改。
设置index=False表示不保存索引。
""" # 打印处理后的数据
print(grouped_df)
"""
使用print()函数打印处理后的数据,便于查看分组聚合操作的结果。
"""

Python 利用pandas多列分组多列求和的更多相关文章

  1. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  2. Python 的 Pandas 对矩阵的行进行求和

    Python 的 Pandas 对矩阵的行进行求和: 若使用 df.apply(sum) 方法的话,只能对矩阵的列进行求和,要对矩阵的行求和,可以先将矩阵转置,然后应用 df.apply(sum) 即 ...

  3. pandas玩转excel-> (1)如何利用pandas创建【行,列,单元格】

    import pandas as pd #------新建单元格的方法一:通过先创建字典的形式 #可以先新建一个字典d={'x':100,'y':200,'z':300} #打印字典的索引print( ...

  4. python利用xlwings写入一行或一列Excel数据

    注意点:这里的sheet参数默认是已经存在的sheet表,如不存在该sheet,则使用add方法新增即可,示例: wb = xw.Book(r"C:\Users\Desktop\result ...

  5. Python利用pandas处理数据后画图

    pandas要处理的数据是一个数据表格.代码: 1 import pandas as pd 2 import numpy as np 3 import matplotlib.pyplot as plt ...

  6. python 利用pandas导入数据

  7. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  8. 有关列分组,定义css样式无效的问题

    声明: web前端学习笔记,欢迎大神指点.联系QQ:1522025433. 有时候我们要单独对表格的某列定义单独的样式,就会很自然的想到 表格的 在<table>标签内使用的 <co ...

  9. Pandas之csv文件对列行的相关操作

    1.Pandas对数据某一列删除 1.删除列 import pandas as pd df = pd.read_csv(file) #axis=1就是删除列 df.drop(['列名1','列名2'] ...

  10. MSSQL—按照某一列分组后取前N条记录

    以前在开发的时候遇到过一个需求,就是要按照某一列进行分组后取前几条数据,今天又有同事碰到了,帮解决了之后顺便写一篇博客记录一下. 首先先建一个基础数据表,代码如下: IF OBJECT_ID(N'Te ...

随机推荐

  1. NC24755 [USACO 2010 Dec S]Apple Delivery

    题目链接 题目 题目描述 Bessie has two crisp red apples to deliver to two of her friends in the herd. Of course ...

  2. NVM Feature— Reservation(NVME 学习笔记五)

    8.8 Reservations 预订 NVMe的reservation预订功能,用于让两个或多个主机能够协调配合的访问共享namespace.使用这些功能的协议和方式超出了本规格说明书的范围.对这些 ...

  3. Kubernetes上使用Ingress Nginx将服务发布到外部IP

    Kubernetes的网络结构 K8s的网络相对比较复杂, 包含了如下几类IP地址: Host Network 运行K8s集群的宿主服务器的内网IP, 其网段在配置宿主机时设置. 这些服务器可能是物理 ...

  4. 解决zabbix中文乱码

    原因是zabbix的web端缺少中文相关字体, 这里我们利用winscp, 将本机的中文楷体字体文件(simkai.ttf)上传到服务器: 找到web端字体文件夹,我的是:/var/www/html/ ...

  5. 搭建docker swarm集群

    环境介绍 管理节点    swarm01 192.168.5.140 工作节点   swarm02 192.168.5.141 管理节点执行 docker swarm init --advertise ...

  6. jupyter环境变量配置与启动

    一.jupyter基础知识 1.基本概念 jupyter是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. 编程时具有语法高亮,缩进,tab补全的功能. ...

  7. 项目实战:Qt+ffmpeg摄像头检测工具

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  8. 【LeetCode贪心#05】K 次取反后最大化的数组和(自定义sort、二重贪心)

    K次取反后最大化的数组和 力扣题目链接(opens new window) 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这 ...

  9. core-js/modules/es7.arrat......................报错

    拉入代码之后出现如图提示,导致原因是因为core-js版本太高,可以用cnpm install core-js@2成功解决,安装一个项目前最后将node-moudel删除,重新安装

  10. 【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成

    问题描述 在Azure Redis的导出页面,突然不能配置Storage Account的SAS作为授权方式. 那么是否可以通过AZ CLI或者是Powershell来实现SAS的配置呢? 问题解答 ...