首页 > 编程语言 >python +excel 根据品类求涨出和亏损的商品的前三和后三

python +excel 根据品类求涨出和亏损的商品的前三和后三

时间:2024-12-04 16:56:59浏览次数:4  
标签:涨出 loss python excel df gain 品类 result

import pandas as pd

# 读取原始数据
df = pd.read_excel('D:\\work\\2\\配料原始表.xlsx', sheet_name='Sheet1')

# 按品类分组并处理数据
grouped = df.groupby('品类名称')
result_dfs = []
for category, group in grouped:
    # 筛选亏损数据并整理格式
    loss_df = group[group['差异金额'] > 0].sort_values(by='差异金额', ascending=False).head(3)
    loss_df['亏涨类别'] = '亏损'
    loss_df['序号'] = range(1, len(loss_df) + 1)
    loss_df = loss_df[['品类名称', '亏涨类别', '序号', '商品名称', '差异金额']]

    # 筛选涨出数据并整理格式
    gain_df = group[group['差异金额'] < 0].sort_values(by='差异金额').head(3)
    gain_df['亏涨类别'] = '涨出'
    gain_df['序号'] = range(1, len(gain_df) + 1)
    gain_df = gain_df[['品类名称', '亏涨类别', '序号', '商品名称', '差异金额']]

    # 合并该品类的亏损和涨出数据
    category_result_df = pd.concat([loss_df, gain_df])
    result_dfs.append(category_result_df)

# 合并所有品类的数据
result_df = pd.concat(result_dfs)

# 将结果写入新的Excel文件
with pd.ExcelWriter('D:\\work\\2\\配料统计表2.xlsx', engine='openpyxl') as writer:
    result_df.to_excel(writer, sheet_name='Sheet1', index=False)

运行代码后获得一张新的excel表

下面是原始表

 

标签:涨出,loss,python,excel,df,gain,品类,result
From: https://www.cnblogs.com/haha1988/p/18586658

相关文章

  • 【随手记录】POI操作excel及word场景
    最近有个需求,需要从多个excel表格源数据里读取内容,输出到word里,形式一份报告。以下是相关操作记录:1、POM引用:<!--poi操作word、excel、文档--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version><......
  • 读取excel某表的sheet1的前5行,写入的第二个表的sheet1的前5行
     报错了提示缺少xlwt库#从goods_list.xlsx的sheet1表中获取前5行的数据将数据写入到3.xlsx的sheet1表的前5行#从goods_list.xlsx的sheet1表中获取前5行的数据将数据写入到3.xlsx的sheet1表的前5行importpandasaspd#正确读取文件,确保文件名后缀与实际格式一致data......
  • 使用注解@ExcelIgnoreUnannotated实现了在导出 Excel 时忽略没有被标注的字段
    @ExcelIgnoreUnannotated注解用于在使用ApachePOI或其他Excel处理库时,指示在导出Excel时忽略没有被标注的字段。这意味着只有被特定注解(如@ExcelProperty)标注的字段会被处理和导出。作用简化导出过程:只导出需要的字段,避免不必要的数据被写入Excel文件。提高可读性:使导......
  • Python扩展C/C++ 实现原理分析
    Python扩展C/C++实现原理分析https://blog.csdn.net/HaoBBNuanMM/article/details/112243129?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ab2ac79057d38453c0328d6726560514%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request......
  • pygame:python编写的坦克大战游戏(多年前网上找到的资源,来源已不可考)
    游戏项目的源码地址:https://openi.pcl.ac.cn/devilmaycry812839668/Tank_Game_1990pygame:python编写的坦克大战游戏(多年前网上找到的资源,来源已不可考),本人小的时候最喜欢玩的就是小霸王学习机上的黄卡游戏,而在这些72合一的黄卡游戏中我最为喜欢的就是这个坦克大战的游戏,虽然过......
  • Python 局域网远程控制电脑
    Python局域网远程控制电脑1.简介:一款由Python可以远程控制局域网电脑关机、重启、注销、锁定、休眠、退出登录甚至能操作远程电脑Cmd终端命令的一款工具。资源及源码已打包,大家可自行下载。工具分为1.0以及2.0版本,2.0版本在1.0终端命令行模式更改为网页界面化操作,可利......
  • 基于python实现的共享单车大数据分析与辅助管理毕业设计系统附带论文源码部署视频等
    文章目录前言共享单车数据分析毕设系统介绍共享单车数据分析毕设系统界面共享单车数据分析毕设系统实现介绍系统描述技术框架系统数据库介绍毕设系统核心框架介绍核心代码参考数据库参考为什么选择我更多毕设系统作品演示视频可看这里数据库+源码获取前言......
  • linux中安装多个python版本环境
    一、更新系统软件包yumupdate-y 二、安装软件管理包和可能使用的依赖yum-ygroupinstall"Developmenttools"yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-devel 三、下载Pyhton3到/usr/local目录https://www.python......
  • 使用Python,获取汉字的拼音
    如何快速生成带音调的汉字拼音在日常工作中,尤其是在语言学习、数据处理、或是对中文字符的处理时,我们可能需要将汉字转换为拼音。对于许多场景来说,拼音不仅仅需要字母拼写,还需要附带音调,以便正确表达每个字的发音。这篇文章将教你如何使用Python实现快速生成带音调的拼音......
  • vue2/3 中使用 @vue-office/docx 在网页中预览(docx、excel、pdf)文件
    1.安装依赖:#docx文档预览组件npminstall@vue-office/docxvue-demi@0.14.6#excel文档预览组件npminstall@vue-office/excelvue-demi@0.14.6#pdf文档预览组件npminstall@vue-office/pdfvue-demi@0.14.6vue2.6版本或以下还需要额外安装@vue/composition-apinp......