1024征文活动 - 从传统到智能,“小浣熊家族AI办公助手”引领数据处理的革命

Sunny_媛 2024-10-26 17:31:01 阅读 64

请添加图片描述

一年一度的程序员节来啦,当然大家期待的 10·24征文活动也随之而来喽!

“办公小浣熊”是基于商汤大语言模型的大模型原生数据分析产品,可通过用户的自然语言输入,自动将数据转化为有意义的分析和可视化结果。办公小浣熊支持复杂表格、多表格、多文件的理解,可以完成数据清洗、数据运算、比较分析、趋势分析,预测性分析、可视化等常见数据分析任务,赋能财务分析、商业分析、销售预测、市场分析、宏观分析等多个应用场景。

在这里插入图片描述


一、前言:

数据分析是指对收集来的大量数据进行分析,提取有用信息和形成结论,需要有目的性地收集数据、分析数据,使之成为信息的过程,数据分析的目的是把隐藏在一大批看似杂乱无章的数据中的信息集中和提炼出来,以找出所研究对象的内在规律,为决策者提供决策的依据。

数据分析是一种以系统性的方法解释、分析和评估数据的过程,旨在揭示数据背后的趋势、模式和关联,以从中获得有价值的见解和洞察力,这个过程通常涉及使用各种统计和逻辑技术,包括数据挖掘、机器学习、可视化和预测建模等。

销售数据分析是商业领域中非常重要的活动,能够帮助企业了解销售趋势、优化销售策略以及制定未来的销售计划。数据分析通常涉及收集、清理、转换、建模和解释数据以提取有用的信息和洞察,比如在企业内部经常会有这些数据分析的需求:

业务人员:个人的销售数量、销售的业绩业务主管:需要使用Excel大量的函数计算团队的销售整体数量,使用Excel的图表工具,生成各种类型的图表,如柱状图、折线图、饼图等,可以快速分析销售数据的变化趋势、销售额的分布情况等。销售助理:通过透视表,可以对销售数据进行分类汇总、交叉分析等,进一步揭示销售数据中的规律和潜在问题,报表功能来获取需要数据量化成果用于会议讨论。

大数据和人工智能时代,数据分析是个热门话题,很多业务人员门外汉人员,面对浩Excel这种知识与技术,也搞不清该从哪里开始,于是,经常在工作当中有人询问关于报表需求的问题,让我们今天来关注“一站式商汤自研大语言模型的智能助手” - 小浣熊家族AI办公助手,人人都可以用更高效的数据分析助手来提高生产力了!

在这里插入图片描述

1. Excel时代:

Excel是一个强大的电子表格程序,广泛用于数据存储、整理和分析。它提供了丰富的功能,如数据透视表、图表、公式和函数,使得数据分析变得简单而高效。

2. BI报表时代:

商业智能(Business Intelligence)工具,是一套完整的解决方案,用于将企业中现有的数据进行有效的整合、分析和可视化,从而快速准确地提供报表和决策依据,帮助企业做出明智的业务经营决策。

2. AI大模型时代:

Raccoon是基于商汤自研大语言模型的智能助手,包含代码助手、办公助手,满足用户代码编写、数据分析、编程学习等各类需求,有了数据分析助手,人人都可以提高办公生产力。

在这里插入图片描述


二、小浣熊家族AI办公助手:

随着科技发展越来越快,人工智能(AI)已经成为推动各行各业进步的关键力量,“商汤科技”作为全球领先的AI公司之一,最近推出了一款名为“小浣熊家族(Raccoon)”的AI智能办公助手,是一款办公场景设计的、集成了人工智能技术的助手应用。旨在彻底改变我们对编程和办公的认知,本文将深入探讨这款产品的核心技术和功能,以及它如何帮助用户提高效率和创新能力。

在这里插入图片描述

小浣熊家族是基于商汤科技自研的大型语言模型开发的,它不仅仅是一个简单的工具,而是一个全面的解决方案,涵盖了代码编写、数据分析和编程学习等多个领域。这个智能助手的核心优势在于其强大的AI能力,能够为用户提供实时的编程辅助、数据分析和决策支持。


1. 代码助手:编程的的“钢铁侠”:

小浣熊家族的代码助手,可以通过AI代码智能生成、代码智能翻译和代码智能重构等技术,极大地简化了编程工作,同时,可以能够理解用户的编程意图,自动生成高质量、高性能的代码片段,甚至智能的提供代码解决方案。

多种编程语言支持,助力高效开发 支持 Python、C#、C/C++、Java、 Go、JavaScript 等多种主流编程语言。

多种 IDE 支持,提供无缝开发体验 支持 VS Code、Android Studio、JetBrains 全系列 IDE。


2. 办公助手:数据智能分析,洞悉商业价值

在这里插入图片描述

“办公小浣熊”是一款可以帮助快速进行文档处理、数据清洗、运算、分析生成可视化图表等能力的一款 AI 智能一站式办公软件,通过办公小浣熊,只需要提供用到的数据,包括但不限于文件(xlsx、xls、csv、txt、json等格式的数据报表)、信息、图表、报告等,办公小浣熊可以以对话的方式帮分析出想知道的任何数据信息。


三、小浣熊家族AI办公助手从零到壹最佳实践:

从业务助理那里要了一份近期的销售订单情况,来看看实际场景中是否能帮助我们来加快数据分析。通过对数据的深入挖掘和分析,团队可以更好地理解市场趋势、客户需求和竞争对手的动态:

①. 进行用户画像,最近销量比较受欢迎的订单,最受欢迎的产品是什么?②. 了解各个部门的销售业绩排名,销量低的原因是什么?所在地区出现竞品吗?③. 结合销售的业绩情况,可以对于进销存的备货(临采,备采)进行有效的预警、预测与趋势分析。

…等等


1. 本地上传销售的数据源:

销售订单数据源是csv格式,大小是10.8Mb左右,包括订单ID、订单编号、下单时间、购买者ID、购买者昵称、购买者联系电话、商品分类、下单渠道、下单方式、消费金支付等状态等27个字段。

在这里插入图片描述

通过上传“订单全数据.csv”来针对这个文件,通过数据分析的智能体,通过“商汤自研大语言模型”强大的意图理解能力、分析建模能力和洞察力,进行自主的利用统计科学、机器学习等高级建模技术从数据中深入挖掘,从而提供分析观点的结论。

在这里插入图片描述

①. 点击“选择本地文件”,可以上传本地的文件,支持的文件格式比较多,这里使用csv格式数据源②. 可以显示订单csv格式的数据上传进度,速度也比较快。③. 当文件上传后,可以看到右侧可以显示前99数据,但是发现这种比较宽的表预览速度还是比较快的。


2. 数据运算场景一:查询一下多少个商品类型,分别是什么?

通过对话式提问,来响应询问的问题,并且通过python语言来进行数据运算和数据清洗。

在这里插入图片描述

(1). 提问一:帮我查一下有多少个商品类别?

<code># 重新加载原始数据

data = pd.read_csv(file_path)

# 查找商品类别列的唯一值数量

unique_product_categories = data['商品分类'].nunique()

unique_product_categories

①. 可以看到是使用python的语言来做代码分析。②. 从代码上来看自动联想到Excel中“商品分类”这个栏位,并且使用nunique()函数查找唯一值,即每个唯一值只出现一次。

(2). 提问二:这几个不同的商品类别分别是什么?

# 查找商品类别列的唯一值

unique_product_categories_list = data['商品分类'].unique()

unique_product_categories_list

①. 可以看到上下文环境是共享的,询问的问题是基于上面上传的数据源,且会联想上面询问的。②. unique()函数是用于去除数组中的重复元素并进行排序。③. 通过Excel的搜索功能,来实际看一下生成的结果对不对,从Excel中可以看到,确实是3种分类,而且分类的名称也是能对应上,结果完美匹配。


3. 数据运算场景二:帮我计算一下2024年的销售额?

上传的csv数据源后,提问“帮我计算一下2024年的销售额”,通过商汤自研SensNova大模型进行分析后,列出了详细的操作细节,可惜的是,最终给出的计算结果是不正确的,跟我来一步一步分析,看看到底是什么原因?

在这里插入图片描述

(1). AI大模型梳理的数据分析过程:

<code># 首先,我将导入必要的库并加载数据文件以查看其内容。

import pandas as pd

# 加载CSV文件

file_path = '/mnt/data/订单全数据.csv'

data = pd.read_csv(file_path)

# 显示数据的前几行以了解其结构

data.head()

数据已成功加载,但表中似乎存在一些列的数据类型不一致。为了计算2024年的销售额,我将首先提取与订单金额和销售日期相关的列,然后筛选出2024年的订单,最后计算这些年份的总销售额。

说明:

①. 通过商汤SensNova大模型体系加载数据源,分析数据结构,看看是否有问题。②. 梳理一个大致数据分析、运算逻辑的步骤,这跟写代码的思路是一样的,先要了解功能需求是什么?产出的结果是什么?需要哪些方案?

接下来,我将执行以下步骤:

确定与订单金额和销售日期相关的列。转换日期列以确保其格式正确。筛选出2024年的订单。计算2024年的总销售额。

现在,我将开始执行这些步骤。

说明:

①. 上述比较类似程序员的思考逻辑,首先生成伪代码逻辑,后面按照大模型的思路来使用python代码执行一步一步执行。②. 从方向上确认这些步骤都是没有问题的。因为写代码也是按照这样的思路来进行的。

# 确定与订单金额和销售日期相关的列

# 从数据的前几行可以看出,"下单时间"列可能包含日期信息,但我们需要找到表示订单金额的列。

# 我们将检查列名以找到可能表示订单金额的列。

# 显示所有列名以找到可能的订单金额列

column_names = data.columns

column_names

根据列名,我们可以推断以下几点:

“下单时间” 列可能包含订单的日期信息。“商品总价” 列可能表示每个订单的总金额。

说明:

①. 通过商汤SensNova大模型体系可以自动分析出来,需要使用“下单时间”和“商品总价”这2个关键的字段来生产结果。②. 即查找下单时间为2024年的订单,然后将“商品总价”进行加总即可得到结果。


(2). AI大模型梳理的数据清洗与数据运算的过程:

接下来,我将执行以下操作:

转换 “下单时间” 列为日期格式。筛选出2024年的订单。计算 “商品总价” 列中2024年订单的总和。

现在,我将开始执行这些步骤。

# 转换 "下单时间" 列为日期格式

data['下单时间'] = pd.to_datetime(data['下单时间'], errors='coerce')code>

# 筛选出2024年的订单

data_2024 = data[data['下单时间'].dt.year == 2024]

# 计算2024年的总销售额

total_sales_2024 = data_2024['商品总价'].sum()

total_sales_2024

2024年的总销售额计算完成,但由于数据格式的问题,结果显示为一系列带有货币符号的金额。我将进一步处理这些数据以提供一个清晰的数值总和。

说明:

①. 数据清洗的过程:因为下单时间的格式不是规范的数据格式(Excel认识,但是计算机代码可能不认识),所以,需要进行数据的清理转换为统一可识别的格式。②. 数据运算的过程:再将下单时间为2024年的订单刷新出来,再进行数据的运算,将销售的总价全部进行累加。③. 但是这里商汤SensNova大模型有识别到一个问题所在,就是在“商品价格”字段中发现有带货币符号的金额,所以,需要进行纯数字的转换,才能进行number类型的数字累加。

# 由于结果显示为一系列带有货币符号的金额,我们需要进一步处理这些数据以提供一个清晰的数值总和。

# 我们将尝试提取数值并计算总和。

# 尝试将商品总价列转换为数值类型

data['商品总价'] = pd.to_numeric(data['商品总价'].str.replace('[^\d.]', ''), errors='coerce')code>

# 再次计算2024年的总销售额

total_sales_2024 = data_2024['商品总价'].sum()

total_sales_2024

说明:

①. 数据清洗的过程:将“商品总价”字段,使用函数str.replace(‘[^\d.]’, ‘’)进行转换。

在处理数据时遇到了一些问题,导致无法直接计算2024年的总销售额。我将尝试另一种方法来处理和分析数据,确保能够准确计算出所需的总销售额。

# 尝试使用不同的方法来处理和分析数据

# 我们将直接对原始数据进行操作,而不是对已经部分处理的数据进行操作

# 重新加载原始数据

data = pd.read_csv(file_path)

# 尝试直接将“商品总价”列转换为数值类型,忽略非数字字符

data['商品总价'] = pd.to_numeric(data['商品总价'].str.extract('(\d+\.?\d*)')[0], errors='coerce')code>

# 再次转换“下单时间”列为日期格式,并筛选出2024年的订单

data['下单时间'] = pd.to_datetime(data['下单时间'], errors='coerce')code>

data_2024 = data[data['下单时间'].dt.year == 2024]

# 再次计算2024年的总销售额

total_sales_2024 = data_2024['商品总价'].sum()

total_sales_2024

2024年的总销售额计算完成,结果为 ¥480,100.3。如果您有其他问题或需要进一步的分析,请告知。

说明:

①. 数据清洗的过程:将“商品总价”字段,使用函数str.extract(‘(\d+.?\d*)’)[0]进行转换,但是感觉在“¥33¥44¥55”,这样的逻辑不是很严谨。②. 数据运算的过程:加总得到的结果为¥480,100.3,但是跟实际上运算出来的结果322,671,06是肯定不对的。

在这里插入图片描述

通过对商汤AI大模型分析的过程,我们从中找出了其中一个问题点,是因为会员可以使用积分币“猪猪币”进行商品的购买,所以,在转换的过程中,没有排除,导致计算的结果偏大,但是将“猪猪币”全部替换为空,做为纯数字相加,但是价格还是存在问题,继续分析。


3. 数据拆分场景三:将数据源进行拆分不同文件,并检查文件中商品总价有哪些类型?

数据相加还是不正确,经过分析Excel商品总价是存在多种数据类型的,所以在上面进行取第一个数字类型,明显是不符合业务需求的,接下来使用“办公小浣熊”来AI帮助我们来分析一下“商品总价”的数据结构。

在这里插入图片描述

(1). AI大模型数据拆分过程:

帮我将商品总价包含猪猪币的记录拆分为2个excel文档?

好的,我将按照以下步骤操作:

筛选出包含“猪猪币”的记录。筛选出不包含“猪猪币”的记录。将这两组数据分别保存为两个Excel文件。

现在,我将开始执行这些步骤。

<code># 筛选出包含“猪猪币”的记录

orders_with_pig_coins = df[df['商品总价'].str.contains('猪猪币')]

# 筛选出不包含“猪猪币”的记录

orders_without_pig_coins = df[~df['商品总价'].str.contains('猪猪币')]

# 定义文件路径

file_path_with_pig_coins = '/mnt/data/包含猪猪币的订单.xlsx'

file_path_without_pig_coins = '/mnt/data/不包含猪猪币的订单.xlsx'

# 将数据保存为Excel文件

orders_with_pig_coins.to_excel(file_path_with_pig_coins, index=False)

orders_without_pig_coins.to_excel(file_path_without_pig_coins, index=False)

file_path_with_pig_coins, file_path_without_pig_coins

在尝试筛选包含“猪猪币”的记录时,出现了一个错误。这可能是因为“商品总价”列中存在缺失值(NA/NaN),导致比较操作失败。

为了解决这个问题,我将先填充缺失值,然后再次尝试筛选和保存数据。

# 填充缺失值以避免错误

df_filled = df.fillna('')

# 筛选出包含“猪猪币”的记录

orders_with_pig_coins_filled = df_filled[df_filled['商品总价'].str.contains('猪猪币')]

# 筛选出不包含“猪猪币”的记录

orders_without_pig_coins_filled = df_filled[~df_filled['商品总价'].str.contains('猪猪币')]

# 将数据保存为Excel文件

orders_with_pig_coins_filled.to_excel(file_path_with_pig_coins, index=False)

orders_without_pig_coins_filled.to_excel(file_path_without_pig_coins, index=False)

file_path_with_pig_coins, file_path_without_pig_coins

在尝试保存数据时,出现了一个错误,因为我之前定义的文件路径变量在重新执行代码时丢失了。我将重新定义文件路径并再次尝试保存数据。

# 重新定义文件路径

file_path_with_pig_coins = '/mnt/data/包含猪猪币的订单.xlsx'

file_path_without_pig_coins = '/mnt/data/不包含猪猪币的订单.xlsx'

# 将数据保存为Excel文件

orders_with_pig_coins_filled.to_excel(file_path_with_pig_coins, index=False)

orders_without_pig_coins_filled.to_excel(file_path_without_pig_coins, index=False)

file_path_with_pig_coins, file_path_without_pig_coins

说明:

①. 数据拆分的过程:将“商品总价”字段,使用函数str.contains(‘猪猪币’),判断Ture/False来填充到不同的文件中,一个是“包含猪猪币的订单”,另一个是“包含猪猪币的订单”。②. 数据清洗的过程:将“商品总价”字段,发现有存在缺失值(NA/NaN),也有空值的时候,使用df.fillna(‘’) 填充缺失值以避免计算错误。


(2). 数据分析类型:检查文件中商品总价有哪些类型?

在这里插入图片描述

<code># 读取包含猪猪币和不包含猪猪币的订单文件

orders_with_pig_coins_path = '/mnt/data/包含猪猪币的订单.xlsx'

orders_without_pig_coins_path = '/mnt/data/不包含猪猪币的订单.xlsx'

orders_with_pig_coins_df = pd.read_excel(orders_with_pig_coins_path)

orders_without_pig_coins_df = pd.read_excel(orders_without_pig_coins_path)

# 检查“商品总价”列中的唯一值类型

unique_prices_with_pig_coins = orders_with_pig_coins_df['商品总价'].unique()

unique_prices_without_pig_coins = orders_without_pig_coins_df['商品总价'].unique()

unique_prices_with_pig_coins, unique_prices_without_pig_coins

在“商品总价”列中,我们发现了以下几种类型的数据

包含猪猪币的订单:价格与猪猪币混合的形式,例如:“¥0.01+50猪猪币”, “5猪猪币”只有猪猪币的形式,例如:“1000猪猪币”, “888猪猪币”不包含猪猪币的订单:只有数字和货币符号的形式,例如:“¥6.00”, “¥0.01”包含逗号的千位分隔符,例如:“¥2,234.40”包含空格或其他字符的形式,例如:" ¥0.01 "

这些类型反映了订单中不同的支付方式和价格格式。如果您有任何其他问题或需要进一步的分析,请告诉我!

说明:

①. 通过分别分析不同的文件,得到5种数据结构的不同的类型。②. 分别计算不同的文档的商品总价,最后再来相加。


4. 数据运算场景四:计算不包含猪猪币的商品总价。

在这里插入图片描述

计算不包含猪猪币的记录文件的商品总价,遇到货币符号直接去掉,有如果遇到千分位自动转换为对应的数字

<code># 读取“不包含猪猪币的记录.xlsx”文件

data_without_zhu_zhu_bi = pd.read_excel(path_without_zhu_zhu_bi)

# 定义函数来提取和计算总价格(不包含猪猪币)

def calculate_total_price_v6(price_str):

try:

# 移除货币符号

price_str = price_str.replace("¥", "").replace("$", "").replace("€", "")

# 处理千分位

if "," in price_str:

price_str = price_str.replace(",", "")

# 转换为浮点数

total_price = float(price_str)

return total_price

except:

return 0

# 应用函数计算每条记录的总价格

data_without_zhu_zhu_bi["总价格"] = data_without_zhu_zhu_bi["商品总价"].astype(str).apply(calculate_total_price_v6)

# 计算所有记录的总价格

total_price_sum_without_zhu_zhu_bi = data_without_zhu_zhu_bi["总价格"].sum()

total_price_sum_without_zhu_zhu_bi

不包含猪猪币的记录文件中的商品总价格为332,227.46元人民币。

说明:

①. 数据清洗的过程,将货币符号直接使用replace函数替换为空,将千分位直接替换为空,最后将数值转化为浮点数进行运算。②. 再将所有数据加总处理,这样就解决了货币符号和千分位的问题。


5. 数据运算场景五:查询包含猪猪币的订单文件中,商品的总价格,100猪猪币换算成1块钱人民币?

我们可以分析一下Excel文档,包含猪猪币的订单的格式比较多,有单独猪猪币的订单,有猪猪币和钱加在一起的情况,导致计算的逻辑复杂化。

在这里插入图片描述

首先我会读取“包含猪猪币的记录.xlsx”文件,然后检查“商品总价”列中的数据格式,以确定如何提取猪猪币的数量。之后,我会计算总价格,假设100猪猪币等于1块钱人民币。

<code># 读取“包含猪猪币的记录.xlsx”文件

data_with_zhu_zhu_bi = pd.read_excel(path_with_zhu_zhu_bi)

# 显示“商品总价”列的前几个值,以确定数据格式

data_with_zhu_zhu_bi["商品总价"].head()

从“商品总价”列的数据格式来看,价格似乎包含了人民币和猪猪币两部分。例如,“¥0.01+50猪猪币”表示0.01元人民币加上50猪猪币。

接下来,我将提取这些数据,并计算总价格,假设100猪猪币等于1块钱人民币。

# 定义函数来提取和计算总价格

def calculate_total_price(price_str):

# 提取人民币部分

rmb_part = price_str.split("¥")[1].split("+")[0] if "¥" in price_str else "0"

rmb_value = float(rmb_part)

# 提取猪猪币部分

zhu_zhu_bi_part = price_str.split("+")[-1].replace("猪猪币", "").strip()

zhu_zhu_bi_value = float(zhu_zhu_bi_part) if zhu_zhu_bi_part else 0

# 计算总价格(100猪猪币=1块钱人民币)

total_price = rmb_value + (zhu_zhu_bi_value / 100)

return total_price

# 应用函数计算每条记录的总价格

data_with_zhu_zhu_bi["总价格"] = data_with_zhu_zhu_bi["商品总价"].apply(calculate_total_price)

# 计算所有记录的总价格

total_price_sum = data_with_zhu_zhu_bi["总价格"].sum()

total_price_sum

包含猪猪币的订单文件中,商品的总价格为4703.56元人民币。

在这里插入图片描述

说明:

①. 数据清洗的过程,这里通过AI模型理解,可以自动将“¥0.01+50猪猪币”表示0.01元人民币加上50猪猪币,非常的智能。②. 通过Excel的操作(比较复杂的操作,大概有10分钟),我们可以看到2次得到的结果是一样的。


数据可视化最佳实践:

数据可视化是公司非常常见的一种报表方式,可视化图表不仅能帮助企业构建了精准的业务画像,还精准预测了市场趋势,并且可以根据这种趋势做出短期、长期的战略调整,比如,当某个产品销量在急剧下滑,那相应仓库进销存的产品需要停止采购,或者库存过多,需要采用合适的营销活动来消耗库存。

在这里插入图片描述

<code># 首先,我将加载Excel文件以查看其内容,并了解如何进行分析。

import pandas as pd

# 加载Excel文件

file_path = '/mnt/data/不包含猪猪币的记录.xlsx'

data = pd.read_excel(file_path)

# 显示前几行数据以了解其结构

data.head()

数据已成功加载,包含多个字段,如订单ID、下单时间、商品分类、下单渠道等。为了分析商品售卖的走势图,我将首先对数据进行预处理,包括清理和格式化日期字段,然后根据时间对销售数据进行汇总。接下来,我将创建一个走势图来展示商品销售的趋势。让我们开始吧。

import matplotlib.pyplot as plt

# 数据预处理

# 将下单时间转换为日期格式

data['下单时间'] = pd.to_datetime(data['下单时间'], errors='coerce')code>

# 检查是否有无效的日期数据

invalid_dates = data[data['下单时间'].isna()]

if not invalid_dates.empty:

print(f"发现 { len(invalid_dates)} 条无效的日期数据,将被忽略。")

# 按日期对订单数量进行汇总

sales_trend = data.groupby(data['下单时间'].dt.date).size()

# 绘制走势图

plt.figure(figsize=(12, 6))

plt.plot(sales_trend.index, sales_trend.values, marker='o', linestyle='-', color='b')code>

plt.title('商品销售走势图')

plt.xlabel('日期')

plt.ylabel('销售数量')

plt.grid(True)

plt.tight_layout()

plt.show()

走势图已生成,展示了商品销售的趋势。从图中可以看出,在所提供数据的时间范围内,每日的销售数量有所变化。请注意,发现了6条无效的日期数据,并已在分析中忽略它们。如果有任何特定的问题或需要进一步的分析,请告知。

说明:

①. 只需要简单的自然语言,商汤智能大模型就会智能帮我们进行用户的意图,大致的逻辑是以下单的时间为X轴,用户的时间段的订单数量是Y轴的数据,即X轴按时间排序,Y轴按日期统计订单数量。②. 商汤智能大模型自动修正错误,检查是否有无效的日期数据,发现了6条无效的日期数据。

在这里插入图片描述

说明:

①. 可以从图的销售趋势图来看,在2023/12到2024/01月是处于一个销量的淡季,在2024/01到2024/02月销量突然扩张了几百倍,等下让再“小浣熊家族AI办公助手”帮我分析一下哪几个产品销量比较好,在2024/03年产品的销量也是比较趋向于销量的淡季。②. 通过这个总的订单时间销量走势图,可以让领导在大致的走向,可视化的数据不仅能帮助我们了解业务情况,做出更准确的决策,来对公司也可以进行一些策略的调整:各部门人力的思考?进销存的备采策略?比较畅销的产品策略?备采库房的租赁策略?营销活动的策略?


结合进销存进行销量分析:

上面通过订单的信息,想要了解一下现在比较热门的产品,看看产品的库存是否满足?可以将进销存目前的数据表和订单相关的数据表进行同时分析(即多文件),来看看销冠的产品有哪些?是否货源充足?

在这里插入图片描述

因为这份表单包括测试商品,所以,需要排除一下测试的商品。

1. 帮我分析一下订单销量最高的10款产品,并分别看一下现在有多少库存,排除测试的商品。

<code># 排除测试的商品,并重新分析订单销量最高的10款产品及其库存情况

# 首先,我们需要从订单数据中排除测试商品

non_test_order_data = order_data[~order_data['商品名称'].str.contains("测试")]

# 然后,重新计算销量最高的10款产品

top_10_products = non_test_order_data.groupby('商品名称')['购买数量'].sum().sort_values(ascending=False).head(10)

top_10_products_names = top_10_products.index.tolist()

# 查找这些产品在库存数据中的库存情况

inventory_status_top_10 = inventory_data[inventory_data['产品名称'].isin(top_10_products_names)][['产品名称', '库存']]

inventory_status_top_10.set_index('产品名称', inplace=True)

# 合并销量和库存数据

top_10_products_with_inventory = top_10_products.to_frame().join(inventory_status_top_10, on='产品名称', how='left')code>

top_10_products_with_inventory.columns = ['销量', '库存']

top_10_products_with_inventory.reset_index(inplace=True)

top_10_products_with_inventory.columns = ['产品名称', '销量', '库存']

top_10_products_with_inventory

在尝试合并销量数据和库存数据时,我再次遇到了问题。这可能是由于在合并数据时发生了错误,导致无法正确匹配产品名称。

为了解决这个问题,我将采用不同的方法来合并数据。我将直接在订单数据中添加库存信息,而不是先转换为框架再进行合并。这样可以确保数据正确匹配。让我们尝试这种方法。

# 直接在订单数据中添加库存信息

# 首先,我们需要将库存数据转换为字典,以便于查找

inventory_dict = inventory_data.set_index('产品名称')['库存'].to_dict()

# 然后,在订单数据中添加库存列

top_10_products_with_inventory = top_10_products.to_frame().reset_index()

top_10_products_with_inventory['库存'] = top_10_products_with_inventory['产品名称'].map(inventory_dict)

# 重新命名列名

top_10_products_with_inventory.columns = ['产品名称', '销量', '库存']

top_10_products_with_inventory

在尝试直接在订单数据中添加库存信息时,我再次遇到了问题。这可能是由于在处理数据时发生了错误,导致无法正确访问产品名称列。

为了解决这个问题,我将重新检查订单数据和库存数据的结构,以确保正确处理数据。我将首先验证订单数据中的产品名称列是否存在,然后再次尝试添加库存信息。让我们进行这一步骤。

# 验证订单数据中的产品名称列是否存在

top_10_products_with_inventory = top_10_products.to_frame().reset_index()

top_10_products_with_inventory.columns = ['产品名称', '销量']

top_10_products_with_inventory['库存'] = top_10_products_with_inventory['产品名称'].map(inventory_dict)

top_10_products_with_inventory

根据订单数据和库存数据,我找到了排除测试商品后的订单销量最高的10款产品及其库存情况。以下是这些产品的销量和库存信息:

产品名称:小牛雨伞,销量:90,库存:1

产品名称:小牛背包,销量:41,库存:1

产品名称:食乐康内蒙酱牛肉150*5袋,销量:28,库存:30

产品名称:一次性手套100只,销量:24,库存:1

产品名称:家用电水壶,销量:24,库存:5

产品名称:雕牌洗洁精1.02kg,销量:18,库存:24

产品名称:盒装牙线50只装*3盒,销量:14,库存:10

产品名称:【猪猪商城】家用电水壶,销量:13,库存:无数据

产品名称:不用穿线的针梨花木混合12根,销量:11,库存:1

产品名称:小苏打粉500g,销量:8,库存:40

在这里插入图片描述

请注意,某些产品在库存数据中可能没有相应的库存信息。

说明:

①. 这里发现在2张Excel交叉计算时,当“小浣熊AI办公助手”使用方案一时,发现有些产品名称匹配不上,马上自动修复这个问题,给出了方案二,有点类似left join排查原理,这样不仅可以最大程度避免了数据的错误率。②. 而且还能查到有一个商品确实在库存中没有,属于一个合作公司的在线商品,是不经过自己库房管理的。


帮我用图表显示上面的结果?

统计图和表格都是用于展示和分析数据的重要工具,‌但是‌统计图,‌如条形图、‌折线图和柱形图等,‌能够更直观地反映一组数据的变化,‌便于比较和趋势分析。‌

<code>import matplotlib.pyplot as plt

import seaborn as sns

# 设置中文字体,以便在图表中显示中文

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

# 创建一个图表来显示销量和库存信息

plt.figure(figsize=(14, 6))

# 绘制销量柱状图

plt.subplot(1, 2, 1)

sns.barplot(x='销量', y='产品名称', data=top_10_products_with_inventory, palette="Blues_d")code>

plt.title('订单销量最高的10款产品')

plt.xlabel('销量')

plt.ylabel('产品名称')

# 绘制库存柱状图

plt.subplot(1, 2, 2)

sns.barplot(x='库存', y='产品名称', data=top_10_products_with_inventory, palette="Greens_d")code>

plt.title('订单销量最高的10款产品的库存情况')

plt.xlabel('库存')

plt.ylabel('产品名称')

plt.tight_layout()

plt.show()

在这里插入图片描述

说明:

①. 可以通过强大的上下文关系来串联整个会话,但是有一个问题,如果有多个结果,区别的好像不是太明确。②. 生成了2个柱状图,一个是关于产品销量的,一个是关于库存的,明显不好进行对比分析,希望能生成一张图中。


把结果放到同一个图表显示:

<code># 创建一个图表来同时显示销量和库存信息

plt.figure(figsize=(14, 8))

# 绘制销量柱状图

sns.barplot(x='销量', y='产品名称', data=top_10_products_with_inventory, color='blue', label='销量')code>

# 绘制库存柱状图

sns.barplot(x='库存', y='产品名称', data=top_10_products_with_inventory, color='green', label='库存')code>

# 添加图例

plt.legend()

# 添加标题和标签

plt.title('订单销量最高的10款产品及其库存情况')

plt.xlabel('销量/库存')

plt.ylabel('产品名称')

# 显示图表

plt.show()

在这里插入图片描述

说明:

①. 蓝色柱状图表示销量,绿色柱状图表示库存。②. 从图中可以看的出来,小牛雨伞、背包,现在是销量很高,但是库存严重不足,需要进行补充货物。牛肉、洗洁精、小苏打现在库存严重充足,容易积压,造成仓库费用浪费,可以请运营同事,搞搞活动或者营销尝试清理库存一下。


在线存放管理数据,管理数据更安全与便捷:

在数据收集过程中,通过对原始数据进行二次加工,可以提高数据的准确性和可用性,同时减少数据的不完整性和错误,有助于更好地理解数据背后的趋势和模式,从而做出更明智的决策。

在现实的操作中,很多时候有一份源数据,通过源数据再进行把有规则的数据处理(数据筛选、数据转换、数据清洗、数据合并)出来,类似我们的异构表,将二次结果、三次结果等直接做为结果集使用。

①. 比如最简单的场景是上面,我将订单的数据通过数据清洗转换为2个文件“包含猪猪币的订单”、“不包含猪猪币的订单”,这样可以在某些场景下,直接做二次数据分析。②. 再比如,由于目前公司所有的订单详情,针对销量的统计,可以把每天的销量的数字转换到一个excel表中,只保存每日的销量,不保存详情,再做年度、季度、月度、周度、日度的不同纬度统计。

在这里插入图片描述

数据管理”可以有效的解决线上管理数据的困境,比如刚好有一天出差(总不能让业务天天带着电脑出差吧),这样,只要有电脑就可以看到数据管理中保存的数据,也不是担心借用别人电脑,数据会保留在别人电脑子上,造成不必要数据安全泄漏的风险。

“数据管理”有二部分进行操作上传,分别为:

①. 可以直接在“数据管理”模块中,直接将本地的文件上传到服务器上。②. 在数据的分析过程中,一些二次加工生成的结果集,也可以直接保存到“数据管理”列表中。

在这里插入图片描述

当然,如果有一些数据不需要了,可以在列表中删除不需要的数据集,可以删除文件夹、单个文件,删除之后是一个异步的任务,会提示“已发起删除任务,将在后台异步执行”,数据显示“删除中”,需要刷新一下页面即可。


历史回溯:


五、“小浣熊AI办公助手”企业降本增效SOWT分析:

近几年期间,甚至连传统企业都开始大面积数字化时,我们发现在员工日常的工作过程中,大量的时间耗费在数据分析、数据统计、写PPT上面,日复一日的不断重复这种造轮子的工作,浪费大量的时间,导致经常加班,无法高效的工作。

通过对“小浣熊AI办公助手”,我们可以可通过用户的自然语言输入,自动将数据转化为有意义的分析和可视化结果,让复杂事情简单化、更加高效。


1 . 在使用Excel做数据分析时的痛点:

公司使用Excel时面临的痛点多样且复杂,‌包括多人协作困难、‌处理大量数据的挑战、‌以及具体操作中的技术性问题等,数据错误和不一致、‌有限的数据清洗功能、‌难以跟踪更改历史、‌性能瓶颈、‌缺乏自动化、‌以及公式计算操作的问题。‌

在这里插入图片描述


2. 技术开发痛点:

在软件开发和其他工程领域,“重复造轮子”被广泛认为是一种低效的做法,因为它浪费了大量的时间和资源去重新创作已经存在的东西,而不是利用现有的技术和经验去解决问题。

在大多数企业应用中,我们经常“重复造轮子”,对于开发的角度来讲,每个公司都有一套自己的BI系统平台,无非是使用Java体系重构一遍PHP的业务,使用Go的体系重构一遍Java的体系,就会产生以下几个方面的问题。

在这里插入图片描述

对于技术而言,无非是用不同的语言来实现,对于业务而言,无非是需要长时间的融入特有的系统了解中,迫切的想要一个能够自己主动掌控的工具。


3. 小结:

在这里插入图片描述

多以上思考,有没有一个行业比较统计的工具,可以在不同的公司进行复用,而且,也不需要大量了解Excel的知识,这样,降低了入职的学习成本,可以快速的融入工作,专注自己的业务领域,不妨可以考虑一下“小浣熊AI办公助手”,通过用户的自然语言输入,自动将数据转化为有意义的分析和可视化结果,只需要动动手输入一句话,就可以通过AI智能生成所需要的结果。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。