全国数学建模比赛2023年C题数据分析代码(仅供参考)

数据分析代码

代码一:

一、导入库和设置中文字体

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['simHei']
plt.rcParams['axes.unicode_minus'] = False

这段代码导入了pandas库和matplotlib.pyplot模块,并设置了中文字体为simHei,同时解决了负号显示问题。

二、读取数据

df_1 = pd.read_excel('附件1.xlsx')
df_3 = pd.read_excel('附件3.xlsx')
print(df_1)
print(df_3)

这里分别从两个 Excel 文件中读取数据到df_1df_3两个DataFrame对象,并打印出来以便查看数据的初步情况。

 

 

三、处理日期数据

df_3['日期'] = pd.to_datetime(df_3['日期'])
df_3['月份'] = df_3['日期'].dt.month
print(df_3)

df_3中的日期列转换为datetime类型,然后提取出月份信息并存入新的月份列,并再次打印df_3以查看结果。

 

 

四、添加品类信息

mapping_dict = df_1.set_index('单品编码')['分类名称'].to_dict()
df_3['品类'] = df_3['单品编码'].map(mapping_dict)
print(df_3.head(5))

使用df_1创建一个字典mapping_dict,将df_1中的单品编码作为索引,分类名称作为值。然后通过map方法将df_3中的单品编码映射为对应的分类名称,并添加为新的品类列。最后打印df_3的前 5 行以查看结果。

 

五、分析单品编码出现的季节信息

grouped = df_3.groupby('单品编码')
result = {}
for name, group in grouped:
    unique_months = group['月份'].unique()
    total_months = len(unique_months)
    season = []
    season_list = [0]*4
    # 根据月份判断所属季节并更新相关信息
    if 3 in unique_months or 4 in unique_months or 5 in unique_months:
        season.append(" 春季")
        season_list[0] = 1
    if 6 in unique_months or 7 in unique_months or 8 in unique_months:
        season.append(" 夏季")
        season_list[1] = 1
    if 9 in unique_months or 10 in unique_months or 11 in unique_months:
        season.append(" 秋季")
        season_list[2] = 1
    if 12 in unique_months or 1 in unique_months or 2 in unique_months:
        season.append(" 冬季")
        season_list[3] = 1
    result[name] = {
        '出现的月份': unique_months,
        '总共出现的月份数': total_months,
        '出现的季节': season,
        "季节数": len(season),
        "季节列表": season_list
    }

首先对df_3按照单品编码进行分组,然后遍历每个分组,确定每个单品编码出现的月份和对应的季节信息,将结果存储在一个字典result中。

六、统计出现所有季节的单品编码数量

count_all = 0
count_all_list = []
for key, value in result.items():
    if value['季节数'] == 4:
        count_all += 1
        count_all_list.append(key)
print(count_all)
print(count_all_list)

遍历前面得到的结果字典result,统计出现所有四个季节的单品编码数量,并将这些单品编码存储在一个列表中,最后打印出数量和列表。

 

七、分析单品编码一年中出现的天数分布

df_3['年份'] = df_3['日期'].dt.year
result = df_3.groupby(['单品编码', '年份']).agg({'日期': 'nunique'}).reset_index() 
result.rename(columns={'日期': '天数'}, inplace=True)
max_days = result.groupby('单品编码')['天数'].max().reset_index()
plt.hist(max_days['天数'], bins=35, edgecolor='k')
plt.xlabel('天数')
plt.ylabel(' 频 数 ') 
plt.title('天数分布直方图') 
plt.show()
filtered_df = max_days[max_days['天数'] <= 15] 
cnt = 0
cnt_list = []
for index, row in filtered_df.iterrows(): 
    cnt_list.append(row['单品编码'])
    print(f" 单品编码:{row['单品编码']},一年最多出现{row['天数']}天") 
    cnt += 1
print(cnt)

首先在df_3中添加年份列,然后统计每个单品编码在每年中不同日期的数量(天数),接着找出每个单品编码在所有年份中出现的最大天数,绘制天数分布直方图,并筛选出一年中出现天数不超过 15 天的单品编码,统计数量并打印相关信息。

 

 

 

完整代码:

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['simHei']
plt.rcParams['axes.unicode_minus'] = False
#%%
df_1=pd.read_excel('附件1.xlsx')
df_3=pd.read_excel('附件3.xlsx')
print(df_1)
print(df_3)
#%%
df_3['日期'] = pd.to_datetime(df_3['日期'])
df_3['月份'] = df_3['日期'].dt.month
print(df_3)
# 分品类
mapping_dict = df_1.set_index('单品编码')['分类名称'].to_dict()
df_3['品类'] = df_3['单品编码'].map(mapping_dict)
print(df_3.head(5))
#%%
grouped = df_3.groupby('单品编码')
result = {}
print(grouped)
#%%
for name, group in grouped:
    unique_months = group['月份'].unique()
    total_months = len(unique_months)
    season = []
    season_list = [0]*4
    if 3 in unique_months or 4 in unique_months or 5 in unique_months:
        season.append(" 春季")
        season_list[0] = 1
    if 6 in unique_months or 7 in unique_months or 8 in unique_months:
        season.append(" 夏季")
        season_list[1] = 1
    if 9 in unique_months or 10 in unique_months or 11 in unique_months:
        season.append(" 秋季")
        season_list[2] = 1
    if 12 in unique_months or 1 in unique_months or 2 in unique_months:
        season.append(" 冬季")
        season_list[3] = 1
    result[name] = {
	'出现的月份': unique_months,
    '总共出现的月份数': total_months,
	'出现的季节': season,
	"季节数": len(season),
	"季节列表": season_list
	}
count_all = 0
count_all_list = []
# for key, value in result.items():
#     print(f"当前处理的键: {key}, 值: {value}")  # 输出当前处理的键值对
#     if '季节数' in value:  # 先检查键是否存在
#         if value['季节数'] == 4:
#             count_all += 1
#             count_all_list.append(key)
#     else:
#         print(f"键 '季节数' 在 {key} 对应的字典中不存在")  # 输出提示信息
for key, value in result.items():
    if value['季节数'] == 4:
        count_all += 1
        count_all_list.append(key)
# print(f" 单品编码 {key} 出现在以下月份: {', '.join(map(str, value['出现的月份']))},总共出现的月份数: {value['总共现的月份数']}, 出现在 {value['出现的季节']}")
print(count_all)
print(count_all_list)
#%%
df_3['年份'] = df_3['日期'].dt.year
result = df_3.groupby(['单品编码', '年份']).agg({'日期': 'nunique'}).reset_index() 
result.rename(columns={'日期': '天数'}, inplace=True)

#print(result)

max_days = result.groupby('单品编码')['天数'].max().reset_index()
# print(max_days)
plt.hist(max_days['天数'], bins=35, edgecolor='k') # 可自行调整 bins 参数来设置柱子数量
plt.xlabel('天数')
plt.ylabel(' 频 数 ') 
plt.title('天数分布直方图') 
plt.show()
filtered_df = max_days[max_days['天数'] <= 15] 
cnt = 0
cnt_list = []
for index, row in filtered_df.iterrows(): 
    cnt_list.append(row['单品编码'])
    print(f" 单品编码:{row['单品编码']},一年最多出现{row['天数']}天") 
    cnt += 1
print(cnt)

 代码二:

一、导入库和设置中文字体

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = [u'simHei']
plt.rcParams['axes.unicode_minus'] = False

这段代码导入了pandas库和matplotlib.pyplot模块,并设置了中文字体为simHei,同时解决了负号显示问题。

二、数据读入和预处理

# 数据读入
df_1_2 = pd.read_excel('附件1.xlsx')
df_2_1 = pd.read_excel('附件2.xlsx')
# 将指定列转换为时间序列
df_2_1['销售日期'] = pd.to_datetime(df_2_1['销售日期'])
df_2_1['扫码销售时间'] = pd.to_datetime(df_2_1['销售日期'].astype(str) + ' ' + df_2_1['扫码销售时间'], errors='coerce', format='%Y-%m-%d %H:%M:%S.%f')
# 计算销售金额
df_2_1['销售金额'] = df_2_1['销量(千克)'] * df_2_1['销售单价(元/千克)']
# 分品类
mapping_dict = df_1_2.set_index('单品编码')['分类名称'].to_dict()
df_2_1['品类'] = df_2_1['单品编码'].map(mapping_dict)
print(df_2_1.head(5))

这里从两个 Excel 文件中读取数据到df_1_2df_2_1两个DataFrame对象。然后将df_2_1中的销售日期扫码销售时间列转换为时间序列,并通过销量和单价计算销售金额。接着,从df_1_2创建一个映射字典,为df_2_1添加品类列,最后打印df_2_1的前 5 行以查看结果。

三、处理没有销量的数据

unique_values_df_2_1 = df_2_1['单品编码'].unique()
unique_values_df_1_2 = df_1_2['单品编码'].unique()
values_only_in_df_1_2 = set(unique_values_df_1_2) - set(unique_values_df_2_1)
count_values_only_in_df_1_2 = len(values_only_in_df_1_2)

print("df_2_1 列'单品编码'的唯一值个数:", len(unique_values_df_2_1))
print("df_1_2 列'单品编码'的唯一值个数:", len(unique_values_df_1_2))
print("df_1_2 中有但是 df_2_1 中没有的值:", values_only_in_df_1_2)
print(" 这些值的个数:", count_values_only_in_df_1_2)

这段代码找出了df_1_2中有但df_2_1中没有的单品编码,并打印了相关信息。

四、找出销售天数少的单品

threshold_1 = 10
result = df_2_1.groupby('单品编码')['销售日期'].nunique().reset_index()
result.rename(columns={'销售日期': '销售天数'}, inplace=True)

hist, bins = np.histogram(result['销售天数'], bins=10)
bin_centers = 0.5 * (bins[:-1] + bins[1:])
cmap = plt.cm.coolwarm
norm = plt.Normalize(vmin=min(hist), vmax=max(hist))

colors = cmap(norm(hist))
plt.figure(figsize=(8,6))
bars = plt.bar(bin_centers, hist, width=bins[1] - bins[0], color=colors, edgecolor='k', alpha=0.7)

for i, count in enumerate(hist):
    plt.text(bin_centers[i], count + 5, str(count), ha='center', va='bottom')

plt.xlabel('销售天数')
plt.ylabel('单品数')
plt.title('销售天数分布直方图')
plt.grid(True)

sm = ScalarMappable(cmap=cmap, norm=norm)
sm.set_array([])
cbar = plt.colorbar(sm, ax=plt.gca(), orientation='vertical')
cbar.set_label('计数', rotation=90, labelpad=15)

plt.show()

filtered_result = result[result['销售天数'] <= threshold_1]
count = filtered_result.shape[0]
list_1 = []
for index, row in filtered_result.iterrows():
    if row[" 销售天数"] <= threshold_1:
        list_1.append(row[" 单品编码"])
print(f'\n阈值为{threshold_1}时被筛除的单品数量: {count}')
print(" 分别是:")
print(list_1)

这里设置了销售天数的阈值为 10,计算了每个单品编码的不同销售日期数量,绘制了销售天数分布直方图,并找出销售天数小于等于阈值的单品编码,打印了相关信息。

五、找出销量低的单品

threshold_2 = 0.00003
grouped = df_2_1.groupby('单品编码')['销量(千克)'].sum().reset_index()
print(len(grouped))
total_sales = grouped['销量(千克)'].sum()
grouped['销量占比'] = grouped['销量(千克)'] / total_sales
low_percentage_groups = grouped[grouped['销量占比'] < threshold_2]['单品编码']

list_2 = low_percentage_groups.to_list()
print("\n所有组的销量总和:", total_sales)
print(f" 销量占比低于{threshold_2}的组的单品编码:")
print(list_2)
print(f" 总数是:{len(low_percentage_groups)}")

data_g = []
for i in grouped['销量占比']:
    if i <= threshold_2:
        data_g.append(i)

bins = 10
n, bins, patches = plt.hist(data_g, bins=bins, edgecolor='k')
plt.xlabel('销量占比')
plt.ylabel('频数')
plt.title('销量占比直方图')
plt.grid()
for i, rect in enumerate(patches):
    height = rect.get_height()
    plt.annotate(f'{height}', xy=(rect.get_x() + rect.get_width() / 2, height), xytext=(0, 5), textcoords='offset points', ha='center', va='bottom')
plt.show()

设置了销量占比的阈值为 0.00003,计算了每个单品编码的总销量和销量占比,找出销量占比小于阈值的单品编码,绘制了销量占比直方图,并打印了相关信息。

六、取交集

intersection = list(set(list_1) & set(list_2))
print(f"\n交集数量为:{len(intersection)}")
print(intersection)

计算了销售天数少和销量低的单品编码的交集,并打印了交集数量和交集内容。

七、查看特定单品编码的销售情况

target_item = intersection[1]
grouped = df_2_1.groupby(['单品编码', '销售日期'])['销量(千克)'].sum().reset_index()
filtered_df_2_1 = grouped[grouped['单品编码'] == target_item]
print(filtered_df_2_1)

plt.figure(figsize=(10, 6))
plt.plot(filtered_df_2_1['销售日期'], filtered_df_2_1['销量(千克)'], marker='o', linestyle='-')
plt.title(f'单品编码 {target_item} 的销售日期和销量折线图')
plt.xlabel('销售日期')
plt.ylabel('销售金额')
plt.grid(True)

plt.show()

从交集中选择一个特定的单品编码,查看其销售日期和销量情况,并绘制折线图。

完整代码:

mport pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = [u'simHei']
plt.rcParams['axes.unicode_minus'] = False
#%%
# 数据读入
df_1_2=pd.read_excel('附件1.xlsx')
df_2_1=pd.read_excel('附件2.xlsx')
#%%
# 将指定列转换为时间序列
df_2_1['销售日期'] = pd.to_datetime(df_2_1['销售日期'])	
df_2_1['扫码销售时间'] = pd.to_datetime(df_2_1['销售日期'].astype(str) + ' ' + df_2_1['扫码销售时间'],errors='coerce',format='%Y-%m-%d %H:%M:%S.%f')
# 计算销售金额
df_2_1['销售金额'] = df_2_1['销量(千克)'] * df_2_1['销售单价(元/千克)']  # 通过销量和单价计算销售金额
# 分品类
mapping_dict = df_1_2.set_index('单品编码')['分类名称'].to_dict()  # 从df_1_2创建映射字典
df_2_1['品类'] = df_2_1['单品编码'].map(mapping_dict)  # 根据映射字典为df_2_1添加'品类'列
print(df_2_1.head(5))  # 打印df_2_1的前5行

####### 第一步:处理没有销量的数据 ######

unique_values_df_2_1 = df_2_1['单品编码'].unique()  # 获取df_2_1中'单品编码'的唯一值
unique_values_df_1_2 = df_1_2['单品编码'].unique()  # 获取df_2_1_1_2中'单品编码'的唯一值
values_only_in_df_1_2 = set(unique_values_df_1_2) - set(unique_values_df_2_1)  # 找出df_2_1_1_2中有但df_2_1中没有的'单品编码'
count_values_only_in_df_1_2 = len(values_only_in_df_1_2)  # 计算上述差值的数量

print("df_2_1 列'单品编码'的唯一值个数:", len(unique_values_df_2_1))  # 打印df_2_1中'单品编码'唯一值的个数
print("df_1_2 列'单品编码'的唯一值个数:", len(unique_values_df_1_2))  # 打印df_2_1_1_2中'单品编码'唯一值的个数
print("df_1_2 中有但是 df_2_1 中没有的值:", values_only_in_df_1_2)  # 打印df_2_1_1_2中有但df_2_1中没有的'单品编码'值
print(" 这些值的个数:", count_values_only_in_df_1_2)  # 打印个数

####### 第二步:销售天数少(阈值 1)的单品找出来  ########

threshold_1 = 10  # 设置销售天数的阈值

import numpy as np  # 导入numpy库
from matplotlib.cm import ScalarMappable  # 从matplotlib库导入ScalarMappable

result = df_2_1.groupby('单品编码')['销售日期'].nunique().reset_index()  # 按'单品编码'分组,计算每个编码的不同销售日期数量
result.rename(columns={'销售日期': '销售天数'}, inplace=True)  # 重命名列

hist, bins = np.histogram(result['销售天数'], bins=10)  # 计算销售天数的直方图
bin_centers = 0.5 * (bins[:-1] + bins[1:])  # 计算直方图的中心位置
cmap = plt.cm.coolwarm  # 设置颜色映射
norm = plt.Normalize(vmin=min(hist), vmax=max(hist))  # 归一化

colors = cmap(norm(hist))  # 获取颜色
plt.figure(figsize=(8,6))  # 创建图形
bars = plt.bar(bin_centers, hist, width=bins[1] - bins[0], color=colors, edgecolor='k', alpha=0.7)  # 绘制直方图

for i, count in enumerate(hist):  # 为直方图添加数量标签
    plt.text(bin_centers[i], count + 5, str(count), ha='center', va='bottom')

plt.xlabel('销售天数')  # 设置x轴标签
plt.ylabel('单品数')  # 设置y轴标签
plt.title('销售天数分布直方图')  # 设置标题
plt.grid(True)  # 显示网格

sm = ScalarMappable(cmap=cmap, norm=norm)  # 创建ScalarMappable对象
sm.set_array([])  # 设置数组
cbar = plt.colorbar(sm, ax=plt.gca(), orientation='vertical')  # 添加颜色条
cbar.set_label('计数', rotation=90, labelpad=15)  # 设置颜色条标签

plt.show()  # 显示图形

filtered_result = result[result['销售天数'] <= threshold_1]  # 筛选销售天数小于等于阈值的结果
count = filtered_result.shape[0]  # 获取筛选结果的数量
#print(f" 销售天数小于等于 {threshold_1} 的单品编码和数量:")
list_1 = []  # 创建列表
for index, row in filtered_result.iterrows():  # 遍历筛选结果
    if row[" 销售天数"] <= threshold_1:
        list_1.append(row[" 单品编码"])  # 将符合条件的单品编码添加到列表
print(f'\n阈值为{threshold_1}时被筛除的单品数量: {count}')  # 打印筛除的数量
print(" 分别是:")
print(list_1)  # 打印单品编码列表

threshold_2 = 0.00003  # 设置销量占比的阈值

######### 第三步:销量低(阈值 2)的单品找出来 #########

grouped = df_2_1.groupby('单品编码')['销量(千克)'].sum().reset_index()  # 按'单品编码'分组,计算每个编码的总销量
print(len(grouped))  # 打印分组的数量
total_sales = grouped['销量(千克)'].sum()  # 计算总销量
grouped['销量占比'] = grouped['销量(千克)'] / total_sales  # 计算每个编码的销量占比
low_percentage_groups = grouped[grouped['销量占比'] < threshold_2]['单品编码']  # 筛选销量占比小于阈值的单品编码

list_2 = low_percentage_groups.to_list()  # 将筛选结果转换为列表
print("\n所有组的销量总和:", total_sales)  # 打印总销量
print(f" 销量占比低于{threshold_2}的组的单品编码:")
print(list_2)  # 打印单品编码列表

print(f" 总数是:{len(low_percentage_groups)}")  # 打印数量

data_g = []  # 创建列表
for i in grouped['销量占比']:  # 遍历销量占比
    if i <= threshold_2:
        data_g.append(i)  # 将符合条件的销量占比添加到列表

bins = 10  # 设置直方图的箱数
n, bins, patches = plt.hist(data_g, bins=bins, edgecolor='k')  # 绘制销量占比的直方图
plt.xlabel('销量占比')  # 设置x轴标签
plt.ylabel('频数')  # 设置y轴标签
plt.title('销量占比直方图')  # 设置标题
plt.grid()  # 显示网格
for i, rect in enumerate(patches):  # 为直方图添加数量标签
    height = rect.get_height()
    plt.annotate(f'{height}', xy=(rect.get_x() + rect.get_width() / 2, height), xytext=(0, 5), textcoords='offset points', ha='center', va='bottom')
plt.show()  # 显示图形

########### 第四步:取交集 ###########

# 将列表转换为集合,然后取交集
intersection = list(set(list_1) & set(list_2))  # 计算两个列表的交集
print(f"\n交集数量为:{len(intersection)}")  # 打印交集数量
print(intersection)  # 打印交集

############ 第五步:查看 ###########
# 选择特定的单品编码
target_item = intersection[1]  # 从交集中选择第二个单品编码
grouped = df_2_1.groupby(['单品编码', '销售日期'])['销量(千克)'].sum().reset_index()  # 按'单品编码'和'销售日期'分组,计算销量总和
filtered_df_2_1 = grouped[grouped['单品编码'] == target_item]  # 筛选出特定单品编码的结果
print(filtered_df_2_1)  # 打印筛选结果

# 绘制折线图
plt.figure(figsize=(10, 6))  # 创建图形
plt.plot(filtered_df_2_1['销售日期'], filtered_df_2_1['销量(千克)'], marker='o', linestyle='-')  # 绘制折线图
plt.title(f'单品编码 {target_item} 的销售日期和销量折线图')  # 设置标题
plt.xlabel('销售日期')  # 设置x轴标签
plt.ylabel('销售金额')  # 设置y轴标签
plt.grid(True)  # 显示网格

# 显示折线图
plt.show()  # 显示图形

 

 

 

数据集(例样)

销售日期扫码销售时间单品编码销量(千克)销售单价(元/千克)销售类型是否打折销售
2020-07-0109:15:07.9241029000051170560.396 7.60 销售
2020-07-0109:17:27.2951029000051159600.849 3.20 销售
2020-07-0109:17:33.9051029000051170560.409 7.60 销售
2020-07-0109:19:45.4501029000051158230.421 10.00 销售
2020-07-0109:20:23.6861029000051159080.539 8.00 销售
2020-07-0109:21:55.5561029000051170560.277 7.60 销售
2020-07-0109:21:56.5361029000051157790.338 8.00 销售
2020-07-0109:22:01.2741029000051170560.132 7.60 销售
2020-07-0109:22:01.4761029000051157790.213 8.00 销售
2020-07-0109:22:15.9981029000110085220.514 8.00 销售
2020-07-0109:22:21.2641029000051188240.251 10.00 销售
2020-07-0109:24:21.8331029000051159840.251 6.00 销售
2020-07-0109:24:21.9051029000051165300.217 18.00 销售
2020-07-0109:24:57.8731029000051159840.468 6.00 销售
2020-07-0109:25:31.3421029000051162260.589 8.00 销售
2020-07-0109:25:45.8111029000051188240.711 10.00 销售
2020-07-0109:26:04.5301029000051157791.003 8.00 销售
2020-07-0109:28:01.9831029000051165300.095 18.00 销售
2020-07-0109:30:17.0451029000051162330.150 10.00 销售
2020-07-0109:30:26.9481029000051159840.502 6.00 销售
2020-07-0109:31:42.4831029000051159840.452 6.00 销售
2020-07-0109:32:25.6231029000051159080.501 8.00 销售
2020-07-0109:32:59.7011029000051157790.201 8.00 销售
2020-07-0109:33:08.9811029000051157790.439 8.00 销售
2020-07-0109:33:09.5791029000051157620.686 6.00 销售
2020-07-0109:33:09.9981029000051167140.329 14.00 销售
2020-07-0109:35:02.4771029000051159080.251 8.00 销售
2020-07-0109:35:02.5571029000051188170.243 14.00 销售
2020-07-0109:35:13.1641029000051165300.256 18.00 销售
2020-07-0109:35:40.4561029000051159840.318 6.00 销售
2020-07-0109:36:36.1081029000110099700.445 9.00 销售
2020-07-0109:36:41.2171029000051157790.363 8.00 销售
2020-07-0109:36:42.4471029000051172090.482 16.00 销售
2020-07-0109:36:43.1311029000110012190.343 14.00 销售
2020-07-0109:38:48.3421029000051159840.502 6.00 销售
2020-07-0109:39:03.6221029000051157790.301 8.00 销售
2020-07-0109:41:09.3421029000051170560.198 7.60 销售
2020-07-0109:41:22.2061029000510042940.172 14.00 销售
2020-07-0109:41:22.7011029000051170560.660 7.60 销售
2020-07-0109:41:37.8731029000051159840.753 6.00 销售
2020-07-0109:41:50.6261029000051159840.552 6.00 销售
2020-07-0109:41:50.9041029000510042940.057 14.00 销售
2020-07-0109:43:10.1081029000051159601.101 3.20 销售
2020-07-0109:44:13.9511029000051165470.435 6.00 销售
2020-07-0109:44:30.8111029000051159840.201 6.00 销售
单品编码单品名称分类编码分类名称
102900005115168牛首生菜1011010101花叶类
102900005115199四川红香椿1011010101花叶类
102900005115625本地小毛白菜1011010101花叶类
102900005115748白菜苔1011010101花叶类
102900005115762苋菜1011010101花叶类
102900005115779云南生菜1011010101花叶类
102900005115786竹叶菜1011010101花叶类
102900005115793小白菜1011010101花叶类
102900005115816南瓜尖1011010101花叶类
102900005115823上海青1011010101花叶类
102900005115854萝卜叶1011010101花叶类
102900005115861牛首油菜1011010101花叶类
102900005115878茼蒿1011010101花叶类
102900005115885蔡甸藜蒿1011010101花叶类
102900005115908菜心1011010101花叶类
102900005115946木耳菜1011010101花叶类
102900005115960大白菜1011010101花叶类
102900005115977豌豆尖1011010101花叶类
102900005115984云南油麦菜1011010101花叶类
102900005116639马齿苋1011010101花叶类
102900005116776本地菠菜1011010101花叶类
日期单品编码批发价格(元/千克)
2020-07-011029000051157623.88 
2020-07-011029000051157796.72 
2020-07-011029000051157863.19 
2020-07-011029000051157939.24 
2020-07-011029000051158237.03 
2020-07-011029000051159084.60 
2020-07-011029000051159464.20 
2020-07-011029000051159602.10 
2020-07-011029000051159843.44 
2020-07-011029000051162264.64 
2020-07-011029000051162335.76 
2020-07-011029000051162576.56 
2020-07-011029000051165091.63 
2020-07-0110290000511653010.80 
2020-07-011029000051165474.06 
2020-07-011029000051167149.23 
2020-07-011029000051167903.97 
2020-07-011029000051169128.16 
2020-07-011029000051169437.83 
2020-07-011029000051170564.32 
2020-07-011029000051172097.58 
2020-07-011029000051188178.47 
2020-07-011029000051188245.65 
2020-07-011029000051188314.13 
2020-07-0110290000511994410.29 
2020-07-011029000051199753.60 
2020-07-011029000051238807.50 
2020-07-0110290000512580812.10 
2020-07-011029000051258156.16 
2020-07-011029000110012198.24 
2020-07-0110290001100694811.69 
2020-07-011029000110085224.44 
2020-07-011029000110099706.03 
2020-07-0110290005100094429.43 
2020-07-011029000510042946.81 
单品编码单品名称损耗率(%)
102900005115168牛首生菜4.39 
102900005115199四川红香椿10.46 
102900005115250西峡花菇(1)10.80 
102900005115625本地小毛白菜0.18 
102900005115748白菜苔8.78 
102900005115762苋菜18.52 
102900005115779云南生菜15.25 
102900005115786竹叶菜13.62 
102900005115793小白菜7.59 
102900005115816南瓜尖13.46 
102900005115823上海青14.43 
102900005115854萝卜叶5.35 
102900005115861牛首油菜12.17 
102900005115878茼蒿6.27 
102900005115885蔡甸藜蒿0.47 
102900005115908菜心13.70 
102900005115946木耳菜7.61 
102900005115960大白菜22.27 
102900005115977豌豆尖8.36 
102900005115984云南油麦菜12.81 
10290000511604215.32 
102900005116219红尖椒6.73 
102900005116226青尖椒6.72 
102900005116233红椒(1)11.76 
102900005116257紫茄子(2)6.07 
102900005116509青茄子(1)5.01 
102900005116530西峡香菇(1)13.82 
102900005116547金针菇(1)3.43 
102900005116639马齿苋11.78 
102900005116714西兰花9.26 
102900005116776本地菠菜10.46 
102900005116790黄心菜(1)10.64 
102900005116806黑油菜0.10 
102900005116837平菇11.60 
102900005116899净藕(1)5.54 
102900005116905青杭椒(1)0.00 
102900005116912姬菇(1)8.99 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值