一、需求描述: 如下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. 沿SVG路径的颜色渐变

    原生的渐变方法 在SVG中提供的原生渐变方法有两种,分别为线性渐变linearGradient和径向渐变radialGradient.我们以一个稍微复杂的路径来作为模板,为其添加两种渐变效果: < ...

  2. Java集合篇之set,面试官:请说一说HashSet、LinkedHashSet、TreeSet的区别?

    写在开头 Java的集合世界中主要由List,Set,Queue,Map构成,我们在之前的博文中已经学习了List,接下来我们继续学习Set集合. Set特点:存取无序,不可以存放重复的元素,不可以用 ...

  3. 使用synchronized对并发性的影响

    1 前言 非静态方法的同步锁是当前对象(this)(对象锁) 静态方法的同步锁是当前类的字节码(类锁) 不同的锁之间能并发 2 同一对象内 本节主类与资源类如下: class Resorce{ //资 ...

  4. ELK查询和汇总

    查询表明细: ELK的KQL样例,显示时间请选择最近15天: 样例1:查询ol_lc 表增删改查,不是jy2_rw的账号明细 KQL:(ol_lc or oc.ol_lc) and (select o ...

  5. oracle 使用comment语句添加表注释

    使用oracle comment语句可以给表.字段.视图等对象添加备注信息. 大致语法为: comment on TABLE table_name IS '备注内容'; 权限要求: 默认情况下用户只能 ...

  6. 了解企业架构EA(Enterprise Architecture)

    一.企业架构简介 企业架构:Enterprise Architecture,EA,或企业体系结构,是在信息系统架构设计与实践基础上发展起来的一个特殊领域. 但是企业架构现在还没有一个公认的定义,综合现 ...

  7. Jenkins下载插件报错

    只要看日志报了什么错 下载超时 更新代理源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 报unable ...

  8. mysql安装及增删改查操作---day35

    # ### mysql ''' 命令可以用tab来补全 d: D:\>cd MySQL5.7 D:\>cd D:\MySQL5.7\mysql-5.7.25-winx64\bin 直接切换 ...

  9. 03、Etcd 客户端常用命令

    上一讲我们安装 etcd 服务端,这一讲我们来一起学学如何使用 etcd 客户端常见的命令.文章内容来源于参考资料,如若侵权,请联系删除,谢谢. etcd可通过客户端命令行工具 etcdctl 对et ...

  10. Android 安装手机程序有问题/点击runAPP 程序安装不了手机

    可以在 gradle.properties 里添加   android.injected.testOnly=false   点击同步  就可以运行了 如下: