Python 利用pandas多列分组多列求和
一、需求描述: 如下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多列分组多列求和的更多相关文章
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- Python 的 Pandas 对矩阵的行进行求和
Python 的 Pandas 对矩阵的行进行求和: 若使用 df.apply(sum) 方法的话,只能对矩阵的列进行求和,要对矩阵的行求和,可以先将矩阵转置,然后应用 df.apply(sum) 即 ...
- pandas玩转excel-> (1)如何利用pandas创建【行,列,单元格】
import pandas as pd #------新建单元格的方法一:通过先创建字典的形式 #可以先新建一个字典d={'x':100,'y':200,'z':300} #打印字典的索引print( ...
- python利用xlwings写入一行或一列Excel数据
注意点:这里的sheet参数默认是已经存在的sheet表,如不存在该sheet,则使用add方法新增即可,示例: wb = xw.Book(r"C:\Users\Desktop\result ...
- Python利用pandas处理数据后画图
pandas要处理的数据是一个数据表格.代码: 1 import pandas as pd 2 import numpy as np 3 import matplotlib.pyplot as plt ...
- python 利用pandas导入数据
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- 有关列分组,定义css样式无效的问题
声明: web前端学习笔记,欢迎大神指点.联系QQ:1522025433. 有时候我们要单独对表格的某列定义单独的样式,就会很自然的想到 表格的 在<table>标签内使用的 <co ...
- Pandas之csv文件对列行的相关操作
1.Pandas对数据某一列删除 1.删除列 import pandas as pd df = pd.read_csv(file) #axis=1就是删除列 df.drop(['列名1','列名2'] ...
- MSSQL—按照某一列分组后取前N条记录
以前在开发的时候遇到过一个需求,就是要按照某一列进行分组后取前几条数据,今天又有同事碰到了,帮解决了之后顺便写一篇博客记录一下. 首先先建一个基础数据表,代码如下: IF OBJECT_ID(N'Te ...
随机推荐
- NC19999 [HAOI2016]放棋子
题目链接 题目 题目描述 给你一个N*N的矩阵,每行有一个障碍,数据保证任意两个障碍不在同一行,任意两个障碍不在同一列,要求你在这个矩阵上放N枚棋子(障碍的位置不能放棋子),要求你放N个棋子也满足每行 ...
- 【C#】基于JsonConvert解析Json数据
1 解析字典 1)解析为 JObject private void ParseJson() { // 解析为JObject string jsonStr = "{'name': 'zha ...
- Spring Boot学生信息管理系统项目实战-1.项目介绍
1.获取源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.项目背景 刚开始自己帮教师朋友写的,核心是学生信息的导入导出功能.后来又扩展了几个模块. 水平一般能力有限,觉着有用的朋友可以拿去自 ...
- 使用SYS_CONTEXT
使用SYS_CONTEXT 1.什么是SYS_CONTEXT? SYS_CONTEXT 函数是Oracle提供的一个获取环境上下文信息的预定义函数. 该函数用来返回一个指定namespace下的par ...
- Java判断是否为闰年
题目: 判断一个输入的整数是否为闰年? 1.需要对输入的数据类型进行验证 2.支持多次输入和结束符号判断,例如输入q代表退出程序. 分析: 闰年的判断规则如下: (1)若某个年份能被4整除但不能被10 ...
- C++ sentry 如何压缩日志文件
项目中在使用 sentry 上传事件的 attachment 函数过程中发现,附带的 log 文件是未压缩的,于是有了需求,即需要在 sentry 内部将未压缩的文件流压缩后再上传给服务器 这个需求看 ...
- win32 - 监控DNS是否发生改变
两种方法: 第一种是使用WMI进行后台轮询 第二种是查询注册表对应的DNS键值 Here: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter ...
- pep8相关规范
https://www.jianshu.com/p/ffcc66bab3ce 导包规范: 1.首先是标准库,如 import os 2.然后是第三方库,如 from django.conf impor ...
- CGI, FastCGI, WSGI, uWSGI, uwsgi一文搞懂
中间件 1.服务器中间件:nginx,apache 2.数据库中间件:介于应用程序和数据库之前的,MyCat 3.消息队列中间件:kafka,rabbitmq,Rocketmq CGI 1.CGI是一 ...
- Centos系统下,各种服务重启
1.sudo systemctl start firewalld 2../redis-server /usr/local/bin/redis.conf 3.mongod -f /etc/mongod ...