首页 > 其他分享 >格式上 期望的效果

格式上 期望的效果

时间:2024-12-23 14:19:20浏览次数:4  
标签:category loss 期望 效果 df result 格式 data gain

 

 

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:
    # 筛选涨出数据并整理格式
    gain_df = group[group['差异金额'] < 0].sort_values(by='差异金额').head(3)
    gain_df['亏涨类别'] = '涨出'
    gain_df['序号'] = range(1, len(gain_df)+1)
    gain_df = gain_df[['品类名称', '亏涨类别', '序号', '商品名称', '差异金额']]
    # 筛选亏损数据并整理格式
    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[['品类名称', '亏涨类别', '序号', '商品名称', '差异金额']]
    # 合并该品类的亏损和涨出数据
    category_result_df = pd.concat([loss_df, gain_df])
    result_dfs.append(category_result_df)

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

# 将结果转换为符合需求的格式
new_result = []
categories = result_df['品类名称'].unique()
for category in categories:
    category_data = result_df[result_df['品类名称'] == category]
    gain_data = category_data[category_data['亏涨类别'] == '涨出']
    loss_data = category_data[category_data['亏涨类别'] == '亏损']
    new_row = [category]
    for i in range(1, 4):
        item = gain_data[gain_data['序号'] == i]
        new_row.append(item['商品名称'].values[0] + '\n' + str(item['差异金额'].values[0]) if len(item) > 0 else '')
    for i in range(1, 4):
        item = loss_data[loss_data['序号'] == i]
        new_row.append(item['商品名称'].values[0] + '\n' + str(item['差异金额'].values[0]) if len(item) > 0 else '')
    new_result.append(new_row)

# 创建新的DataFrame
new_df = pd.DataFrame(new_result, columns=['品类名称', '涨出最多商品名称及金额', '涨出第二多商品名称及金额', '涨出第三多商品名称及金额', '亏损第一多商品名称及金额', '亏损第二多商品名称及金额', '亏损第三多商品名称及金额'])

# 将新表保存为Excel文件
new_df.to_excel('D:\\work\\2\\配料统计表新表优化.xlsx', index=False)

 

标签:category,loss,期望,效果,df,result,格式,data,gain
From: https://www.cnblogs.com/haha1988/p/18623879

相关文章

  • QML实现图片阴影效果
    QML实现图片阴影效果importQtQuickWindow{width:640height:480visible:truetitle:qsTr("GrayImage")Image{id:no_shadowx:100y:100source:'assets/Balatro.png'}Border......
  • MarsCode赋能Three.js:如何轻松实现3D模型点云效果
    前言点云技术正成为三维视觉开发的热门方向,而MarsCode作为强大的交互逻辑工具,与Three.js的采样器结合,为复杂点云效果的实现提供了高效解决方案。本文将重点展示如何借助MarsCode快速实现动物点云效果,解析其在数据处理与渲染中的核心作用,为开发者打开点云艺术的新思路......
  • black:代码格式化的一键美容师
    大家好呀!今天我要给大家介绍一个超级实用的Python代码格式化工具——black。你是不是经常为代码格式不统一而烦恼?缩进忽大忽小,换行时机把握不准,团队成员各自风格迥异...别担心,有了black,这些问题都能一键解决!它就像是代码的美容师,让你的Python代码既规范又好看。black是什么?......
  • WPF实现加载的动态效果
         思路:1.创建一个画布,长宽100*100;<CanvasWidth="100"Height="100">2.画布上创建一个圆,直径25,位于正上方中间,底色浅灰;<StyleTargetType="Ellipse"><SetterProperty="Width"Value="25"/>......
  • Sora效果一览为快!(超多AI视频效果)
    先看效果:是不是可以以假乱真的程度了!哈哈哈后面还准备了非常多Sora生成视频,不过先别急,在看之前我们先简单的了解一下Sora。sora是什么?我们来看官方的技术文档:官方给出的解释是:作为世界模拟器的视频生成模型。报告里讲述了Sora模型的技术原理,他们使用了一种名为Tra......
  • 基于HarmonyOS 5.0 (Next)技术的渐变模糊效果技术实现【代码实战】
    基于HarmonyOS5.0(Next)技术的渐变模糊效果技术实现【代码实战】HarmonyOS5.0(Next)作为华为自主研发的操作系统,以其强大的性能和丰富的开发功能吸引了众多开发者。本文将详细介绍如何在HarmonyOS5.0(Next)中实现渐变模糊效果,并通过代码实战展示具体操作步骤。ArkTS:HarmonyOS......
  • 本题要求编写程序,计算序列 1+2/3+3/5+4/7+5/9+6/11+... 的前N项之和。输入格式:在一行
    #include<stdio.h>intmain(){  intn;  scanf("%d",&n);  doublesum=0;  for(inti=1;i<=n;i++){    sum+=(double)i/(2*i-1);  }  printf("%.2f\n",sum);  return0;}注意sum要强制转换类型......
  • 游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别
    游泳溺水识别数据集:对9984张原始图片进行YOLO,COCOJSON,VOCXML格式的标注,平均识别率在91.7%以上,可识别泳池或者水库中是否有人溺水。 数据集分割训练组98%        9818图片有效集%        0图片测试集2%        166图片......
  • 【StableDiffusion教程】真人漫改实现可商用效果的真人漫改制作教程
    所谓真人漫改,就是把一张真人的图片生成一张新的[二次元]的图片。在AI绘画中,这是一个非常常见的应用场景。关于真人漫改在之前进阶篇系列中分享过好几种制作方式,但是实现方式都比较简单,真人与对应的二次元效果图片不管是人物服装、背景元素、画面颜色等很难达到一致,今天分享......
  • 如何在易优CMS中使用 MyDate 函数格式化日期?
    在易优CMS中,MyDate 函数用于将时间戳格式化为指定的日期格式。这对于显示文章的发布日期、更新日期等非常有用。以下是 MyDate 函数的基本用法和一些示例:基本用法php {$eyou.field.update_time|MyDate='日期格式',###}update_time 是包含时间戳的字段。'日期格式'......