C题用到了vlookup函数将所有数据同类项进行合并,公式如下:
单品类:=VLOOKUP(C2,[附件1.xlsx]Sheet1!A$2:D$252,2,FALSE)
大类: =VLOOKUP(C2,[附件1.xlsx]Sheet1!A$2:D$252,4,FALSE)
批发价格: =VLOOKUP(C2,[附件3.xlsx]Sheet1!B$2:C$55983,2,FALSE)
单品损耗率: =VLOOKUP(H2,[附件4.xlsx]Sheet1!B$2:CS252,2,FALSE)
价格=单位成本*(1+加成率)
单位成本=(固定成本总额+变动成本总额)
加成率=(固定成本总额+变动成本总额)销售量×(1+售价-进价进价)
所以带入到excel中的计算公式如下:
=((J2*D2+K2/100*D2)/D2)*(1+(E2-J2)/J2)
我们得到表格如下图所示:
附件 1 6 个蔬菜品类的商品信息 (数据无异常) 附件 2 销售流水明细数据附件 3 蔬菜类商品的批发价格附件 4 蔬菜类商品的近期损耗率注 (1) 附件 1 中,部分单品名称包含的数字编号表示不同的供应来源。
(2) 附件 4 中的损耗率反映了近期商品的损耗情况,通过近期盘点周期的数据计算得到。
相关库导入
In |
[122]: |
i |
m |
p |
o |
r |
t |
|
pandas |
|
a |
s |
|
pd |
i |
m |
p |
o |
r |
t |
|
numpy |
|
a |
s |
|
np |
i |
m |
p |
o |
r |
t |
|
matplotlib |
. |
pyplot |
|
a |
s |
|
plt |
i |
m |
p |
o |
r |
t |
|
matplotlib |
i |
m |
p |
o |
r |
t |
|
seaborn |
|
a |
s |
|
sns |
i |
m |
p |
o |
r |
t |
|
warnings |
|
warnings |
. |
filterwarnings |
( |
"ignore" |
) |
|
#忽略警告信息 |
plt |
. |
rcParams |
[ |
'font.sans-serif' |
] |
|
= |
|
[ |
'SimHei' |
] |
myfont |
|
= |
|
matplotlib |
. |
font_manager |
. |
FontProperties |
( |
fname |
= |
r"simhei.ttf" |
) |
导入数据集
In |
[4]: |
In |
[5]: |
In |
[6]: |
In |
[7]: |
df1 |
= |
pd |
. |
read_excel |
( |
r"附件1.xlsx" |
) |
df2 |
= |
pd |
. |
read_excel |
( |
r"附件2.xlsx" |
) |
df3 |
= |
pd |
. |
read_excel |
( |
r"附件3.xlsx" |
) |
df4 |
= |
pd |
. |
read_excel |
( |
r"附件4.xlsx" |
) |
数据查看
In |
[9]: |
单品编码 |
单品名称 |
分类编码 |
分类名称 |
df1 |
. |
head |
( |
) |
Out[9]:
0 102900005115168 牛首生菜 1011010101 |
花叶类 |
1 102900005115199 四川红香椿 1011010101 |
花叶类 |
2 102900005115625 本地小毛白菜 1011010101 |
花叶类 |
3 102900005115748 白菜苔 1011010101 |
花叶类 |
4 102900005115762 苋菜 1011010101 |
花叶类 |
[11]: |
Out[11]: |
0 |
1 |
2 |
3 |
4 |
销售日期 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
df2 |
. |
head |
(). |
T |
扫码销售时间 |
09:15:07.924 |
09:17:27.295 |
09:17:33.905 |
09:19:45.450 |
09:20:23.686 |
单品编码 |
102900005117056 |
102900005115960 |
102900005117056 |
102900005115823 |
102900005115908 |
销量(千克) |
0.396 |
0.849 |
0.409 |
0.421 |
0.539 |
销售单价(元/千克) |
7.6 |
3.2 |
7.6 |
10.0 |
8.0 |
销售类型 |
销售 |
销售 |
销售 |
销售 |
销售 |
In |
[12]: |
是否打折销售 |
否 |
否 |
否 |
否 |
否 |
0 |
1 |
2 |
3 |
4 |
日期 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
2020-07-01 00:00:00 |
df3 |
. |
head |
(). |
T |
Out[12]:
单品编码 102900005115762 102900005115779 102900005115786 102900005115793 102900005115823
In |
[13]: |
批发价格 |
( |
元 |
/ |
千克 |
) |
3.88 |
6.72 |
3.19 |
9.24 |
7.03 |
0 |
1 |
2 |
3 |
4 |
小分类编码 |
101 |
1010201 |
101 |
1010402 |
101 |
1010101 |
101 |
1010801 |
101 |
1010504 |
df4 |
. |
head |
(). |
T |
Out[13]:
小分类名称 花菜类 水生根茎类 花叶类 食用菌 辣椒类
平均损耗率(%)_小分类编码_不同值 15.51 13.65 12.83 9.45 9.24
问题1 蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各品类及单品销售量的分布规律及相互关系。
In |
[68]: |
< |
class 'pandas.core.frame.DataFrame' |
> |
RangeIndex: 878503 entries, 0 to 878502 |
解题思路:提取蔬菜各类销售数据,对蔬菜品类各品类(/单品),进行描述性统计or可视化绘制散点、柱状图等, |
|
检验正态性,正态使用皮尔逊,不是正态就使用斯皮尔曼。 |
df2 |
. |
info |
( |
) |
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
- 销售日期 878503 non-null datetime64[ns]
- 扫码销售时间 878503 non-null object
- 单品编码 878503 non-null int64
- 销量(千克) 878503 non-null float64
- 销售单价(元/千克) 878503 non-null float64
- 销售类型 878503 non-null object
- 是否打折销售 878503 non-null object dtypes: datetime64[ns](1), float64(2), int64(1), object(3)
In |
[82]: |
In |
[137]: |
memory usage: 46.9+ MB |
#蔬菜单销量(按月份统计) |
df_1 |
= |
df2 |
. |
iloc |
[ |
: |
, |
[ |
0 |
, |
2 |
, |
3 |
, |
4 |
, |
5 |
] |
] |
df_1 |
= |
df_1 |
[ |
df_1 |
[ |
'销售类型' |
] |
! |
= |
'退货' |
] |
#销售量,所以退货不考虑 |
# (每年每月销售量) |
df_1 |
[ |
'月份' |
] |
|
= |
|
df_1 |
[ |
'销售日期' |
]. |
dt |
. |
month |
|
df_1 |
[ |
'年月' |
] |
|
= |
df_1 |
[ |
'销售日期' |
]. |
dt |
. |
strftime |
( |
'%Y-%m' |
) |
销售日期 |
单品编码 |
销量 |
( |
千克 |
) |
销售单价 |
( |
元 |
/ |
千克 |
) |
销售类型 |
月份 |
年月 |
0 |
2020-07-01 |
1029000051 |
17056 |
0.396 |
7.6 |
销售 |
7 |
2020-07 |
[138]: df_1 Out[138]:
-
- 2020-07-01 102900005115960 0.849 3.2 销售 7 2020-07
- 2020-07-01 102900005117056 0.409 7.6 销售 7 2020-07
- 2020-07-01 102900005115823 0.421 10.0 销售 7 2020-07
- 2020-07-01 102900005115908 0.539 8.0 销售 7 2020-07
... ... ... ... ... ... ... ...
- 2023-06-30 102900005115250 0.284 24.0 销售 6 2023-06
- 2023-06-30 102900011022764 0.669 12.0 销售 6 2023-06
- 2023-06-30 102900005115250 0.125 24.0 销售 6 2023-06
- 2023-06-30 102900011016701 0.252 5.2 销售 6 2023-06
- 2023-06-30 102900011022764 0.803 12.0 销售 6 2023-06
878042 rows × 7 columns
单品编码 |
单品名称 |
分类名称 |
#品类表 |
df1_data |
= |
df1 |
. |
iloc |
[: |
, |
[ |
0 |
, |
1 |
, |
3 |
]] |
df1_data |
In [159]: Out[159]:
0 |
102900005115168 |
牛首生菜 |
花叶类 |
1 |
102900005115199 |
四川红香椿 |
花叶类 |
2 |
102900005115625 |
本地小毛白菜 |
花叶类 |
3 |
102900005115748 |
白菜苔 |
花叶类 |
4 |
102900005115762 |
苋菜 |
花叶类 |
... |
... |
... |
... |
246 |
106958851400125 |
海鲜菇(袋)(4) |
食用菌 |
247 |
106971533450003 |
海鲜菇(包) |
食用菌 |
248 |
106971533455008 |
海鲜菇(袋)(3) |
食用菌 |
249 |
106973223300667 |
虫草花(盒)(2) |
食用菌 |
250 |
106973990980123 |
和丰阳光海鲜菇(包) |
食用菌 |
251 rows × 3 columns |
In |
[160]: |
单品编码 |
销量 |
( |
千克 |
) |
月份 |
0 |
1029000051 |
17056 |
0.396 |
7 |
df_1 |
. |
iloc |
[ |
: |
, |
[ |
1 |
, |
2 |
, |
5 |
] |
] |
Out[160]:
- 102900005115960 0.849 7
- 102900005117056 0.409 7
- 102900005115823 0.421 7
- 102900005115908 0.539 7
... ... ... ...
- 102900005115250 0.284 6
- 102900011022764 0.669 6
- 102900005115250 0.125 6
- 102900011016701 0.252 6
- 102900011022764 0.803 6
878042 rows × 3 columns
[161]: |
In |
[158]: |
Out[158]: |
单品编码 |
分类名称 |
#表合并(添加品类信息) |
data |
|
= |
|
pd |
. |
merge |
( |
df_1 |
. |
iloc |
[: |
[ |
, |
1 |
, |
2 |
, |
5 |
, |
]] |
df1_data |
, |
on |
= |
"单品编码" |
, |
how |
= |
"left" |
) |
df1_data |
# df_1 |
0 |
102900005115168 |
花叶类 |
1 |
102900005115199 |
花叶类 |
2 |
102900005115625 |
花叶类 |
3 |
102900005115748 |
花叶类 |
4 |
102900005115762 |
花叶类 |
... |
... |
... |
246 |
106958851400125 |
食用菌 |
247 |
106971533450003 |
食用菌 |
248 |
106971533455008 |
食用菌 |
249 |
106973223300667 |
食用菌 |
250 |
106973990980123 |
食用菌 |
251 rows × 2 columns
探究蔬菜各品类 |
In |
[162]: |
单品编码 |
销量 |
( |
千克 |
) |
月份 |
单品名称 |
分类名称 |
0 |
1029000051 |
17056 |
0.396 |
7 |
泡泡椒 |
( |
精品 |
) |
辣椒类 |
df_1_data1 |
|
= |
|
data |
. |
pivot_table |
( |
index |
= |
"月份" |
, |
columns |
= |
"分类名称" |
, |
values |
= |
"销量(千克)" |
, |
aggfunc |
= |
[ |
np |
. |
sum |
, |
] |
fill_value |
= |
0 |
) |
In [163]: data Out[163]:
- 102900005115960 0.849 7 大白菜 花叶类
- 102900005117056 0.409 7 泡泡椒(精品) 辣椒类
- 102900005115823 0.421 7 上海青 花叶类
- 102900005115908 0.539 7 菜心 花叶类
... ... ... ... ... ...
- 102900005115250 0.284 6 西峡花菇(1) 食用菌
- 102900011022764 0.669 6 长线茄 茄类
- 102900005115250 0.125 6 西峡花菇(1) 食用菌
- 102900011016701 0.252 6 芜湖青椒(1) 辣椒类
- 102900011022764 0.803 6 长线茄 茄类
- rows × 5 columns
[164]: |
df_1_data1 |
Out[164]:
sum
分类名称 水生根茎类 花叶类 花菜类 茄类 辣椒类 食用菌
月份文章来源地址https://www.toymoban.com/news/detail-709636.html
- 6092.274 17857.651 4103.958 1799.962 10205.431 9827.299
- 4065.083 14572.100 3437.325 1850.245 9684.989 7594.469
- 2516.076 13915.576 2579.784 1561.455 8915.800 5732.215
- 1395.519 13553.790 2533.346 1828.698 7392.322 4684.421
- 887.212 14104.847 2704.914 2477.506 6618.500 4054.720
- 1198.471 13297.080 2495.009 2568.890 5944.559 3913.553
- 2740.537 17398.938 4471.245 2900.921 6140.154 4514.817
- 4507.877 24516.036 4926.903 2736.189 9886.956 5298.255
- 3773.185 18738.509 3594.150 1518.448 6760.253 5063.409
- 4938.264 19239.292 3911.686 1402.145 7949.724 8547.848
- 3592.062 14944.403 3884.538 937.199 6162.623 8159.765 12 4900.992 16521.331 3146.919 860.461 5983.801 8740.955
In |
[112]: |
In |
[116]: |
Out[116]: |
col |
= |
[] |
f |
o |
r |
|
i |
|
i |
n |
|
df_1_data1 |
. |
columns |
: |
|
|
i |
= |
i |
[ |
1 |
] |
|
i |
= |
str |
( |
i |
) |
|
col |
. |
append |
( |
'' |
. |
join |
( |
i |
)) |
df_1_data1 |
. |
columns |
= |
col |
# df_1_data1.reset_index() |
df_1_data1 |
水生根茎类 花叶类 花菜类 茄类 辣椒类 食用菌文章来源:https://www.toymoban.com/news/detail-709636.html
月份
- 6092.274 17857.651 4103.958 1799.962 10205.431 9827.299
- 4065.083 14572.100 3437.325 1850.245 9684.989 7594.469
- 2516.076 13915.576 2579.784 1561.455 8915.800 5732.215
- 1395.519 13553.790 2533.346 1828.698 7392.322 4684.421
- 887.212 14104.847 2704.914 2477.506 6618.500 4054.720
- 1198.471 13297.080 2495.009 2568.890 5944.559 3913.553
- 2740.537 17398.938 4471.245 2900.921 6140.154 4514.817
- 4507.877 24516.036 4926.903 2736.189 9886.956 5298.255
- 3773.185 18738.509 3594.150 1518.448 6760.253 5063.409
- 4938.264 19239.292 3911.686 1402.145 7949.724 8547.848
- 3592.062 14944.403 3884.538 937.199 6162.623 8159.765
- 4900.992 16521.331 3146.919 860.461 5983.801 8740.955
到了这里,关于2023高教社数学建模国赛C题 - 蔬菜类商品的自动定价与补货决策(数据预处理部分)附详细代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!