京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:Mika
数据:真达
后期:泽龙
【导读】
随着自热食品越来越备受消费者的追捧,各种自热小火锅、自热米饭也成了妥妥的网红食品。我们今天就来聊一聊自热食品。
python技术部分请直接看第三部分。
Show me data,用数据说话
今天我们聊一聊 自热食品
疫情期间,在宅在家里的日子,主打一人食概念的自热食品备受关注。自热火锅、自热米饭、即食酸辣粉、即食螺蛳粉等方便食品的销量迎来大幅度增长。光是今年春节,自热火锅的销售暴涨就惊起讨论无数。
自热火锅,自热米饭们就这么成为了新的网红食品,持续霸占着电商销售量榜首,你吃过自热火锅吗?哪款自热食品卖得最好?今天我们就带你用数据来解读这些自热食品。
01“万物皆可自热”
自热食品就这么火了
随着自热食品越来越备受消费者的追捧,各种自热小火锅、自热米饭也成了妥妥的网红食品。一时间,各种自热食品品牌如雨后春笋涌出。自热食品的市场规模也逐年扩大,预计今年将达到40亿元。
来源:《自热食品网络关注度分析报告》—微热点大数据研究院
超市里曾经被泡面牢牢占据的方便食品货架,迅速被自热火锅、自热米饭、自热面抢走半壁江山。
目前自热食品的入局企业不仅有传统的火锅巨头,如海底捞、小龙坎;还有像三只松鼠、良品铺子等零食厂商;同时还有像自嗨锅莫小仙等主打速食品类的新兴品牌。
根据莫小仙的数据,在疫情期间的整体销量同比增长近400%。而自嗨锅3月份公布的数据显示,其线上订单量在疫情期间增长了200%-300%。
其实像外卖、速冻、泡面和眼下潮头上的各种自热锅,本质都是“懒人经济”。同样是方便食品,泡个面还得烧水,速冻食品还得开火加热,而自热锅多方便,比起方便面自热锅在选择上好歹有肉有菜有饭有面,选择上略胜一筹。
02全网哪款自热火锅卖得最好?
我们使用Python获取了淘宝网自热食品相关的商品销售数据,共有4403条数据。
自热食品品类月销量
首先我们看看自热食品都有哪些类别。我们可以看到,卖得最好的是各种自热火锅,以超过190多万的月销量一骑绝尘。排在第二位的是自热米饭,销售量超过64万。排在后面的还有自热方便面、自热粉丝、自热烧烤等等。
哪款自热食品卖的最好?
那么都是哪些自热食品卖得最好呢?下面看到产品月销量排名top10。排在前三位的月销量都超过了12万,分别是椒吱自热小火锅、阿宽自热米饭和辣味客重庆自热小火锅。
自热食品店铺销量排行
都是哪些店铺占据着自热食品销量的前列呢?
通过分析我们发现,卖的做多的是天猫超市。那么具体的店铺方面,前三位分别是莫小仙、自嗨锅以及川蜀老味道。辣味客、白家陈记等店紧随其后。
自热食品标题词云
整理自热食物的标题后我们发现:“即时”、“速食”、“自热”、“懒人”等词都常常出现,果然是懒人经济,就是讲究个方便和快速,让你撕开包装,不需过多的操作就能吃上。类别上主要集中在“火锅”、“米饭”、“麻辣烫”、“面类”等。
自热食品店铺地区分布
这些自热食品的店铺都分布在哪些地区呢?从销量靠前的商品我们也可以猜到,这方面四川绝对是霸主,全网的自热食品店铺数量排名中,四川以1140家店铺称霸。
其次广东和上海分别以1007和1002家店位居二三。
自热食品都卖多少钱?
再看到自热食品的价格,可以看到30元以下的超过了半数,占比62.78%。这也是大众普遍能接受的价格,价格再高的话还不如点份外卖了。
03教你用Python分析
全网自热食品数据
我们使用Python获取了淘宝网自热食品相关的商品销售数据,进行了以下数据分析。
1数据读入
首先导入所需包:
# 导入包 import numpy as np import pandas as pd import time import jieba import os from pyecharts.charts import Bar, Line, Pie, Map, Page from pyecharts import options as opts import stylecloud from IPython.display import Image
使用循环读入数据集,查看一下数据集大小,可以看到一共有4403条数据。
file_list = os.listdir('../data/')
df_all = pd.DataFrame()
# 循环读入
for file in file_list:
df_one = pd.read_excel(f'../data/{file}')
df_all = df_all.append(df_one, ignore_index=True)
print(df_all.shape)
(13984, 6)
预览一下数据。
df_all.head()
2数据预处理
我们对数据集进行以下处理,以便我们后续的可视化分析工作,经过处理之后的数据共8418条。
# 去除重复值
df_all.drop_duplicates(inplace=True)
# 删除购买人数为空的记录
df_all = df_all[df_all['purchase_num'].str.contains('人付款')]
# 重置索引
df_all = df_all.reset_index(drop=True)
df_all.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 8418 entries, 0 to 8417 Data columns (total 6 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 category 8418 non-null object 1 goods_name 8418 non-null object 2 shop_name 8418 non-null object 3 price 8418 non-null float64 4 purchase_num 8418 non-null object 5 location 8418 non-null object dtypes: float64(1), object(5) memory usage: 394.7+ KB
# 提取数值
df_all['num'] = df_all['purchase_num'].str.extract('(\d+)').astype('int')
# 提取单位
df_all['unit'] = df_all.purchase_num.str.extract(r'(万)')
df_all['unit'] = df_all.unit.replace('万', 10000).replace(np.nan, 1)
# 重新计算销量
df_all['true_purchase'] = df_all['num'] * df_all['unit']
# 删除列
df_all = df_all.drop(['purchase_num', 'num', 'unit'], axis=1)
# 计算销售额
df_all['sales_volume'] = df_all['price'] * df_all['true_purchase']
# location
df_all['province'] = df_all['location'].str.split(' ').str[0]
df_all.head()
此部分部分主要对以下的维度数据进行汇总和可视化分析,以下展示关键部分:
cat_num = df_all.groupby('category')['true_purchase'].sum()
cat_num = cat_num.sort_values(ascending=False)
# 条形图
bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
bar1.add_xaxis(cat_num.index.tolist())
bar1.add_yaxis('', cat_num.values.tolist())
bar1.set_global_opts(title_opts=opts.TitleOpts(title='自热食品细分品类月销量表现'),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=0)),
visualmap_opts=opts.VisualMapOpts(max_=1960179.0)
)
bar1.render()
shop_top10 = df_all.groupby('shop_name')['true_purchase'].sum().sort_values(ascending=False).head(10)
shop_top10.sort_values(inplace=True)
# 条形图
bar2 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))
bar2.add_xaxis(shop_top10.index.tolist())
bar2.add_yaxis('', shop_top10.values.tolist())
bar2.set_global_opts(title_opts=opts.TitleOpts(title='自热食品各店铺月销量排行Top10'),
)
bar2.set_series_opts(label_opts=opts.LabelOpts(position='right'))
bar2.set_colors(['#50A3BA'])
bar2.reversal_axis()
bar2.render()
province_top10 = df_all.province.value_counts()[:10] # 条形图 bar3 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px')) bar3.add_xaxis(province_top10.index.tolist()) bar3.add_yaxis('', province_top10.values.tolist()) bar3.set_global_opts(title_opts=opts.TitleOpts(title='各省份自热食品店铺数量排行Top10'), visualmap_opts=opts.VisualMapOpts(max_=1140) ) bar3.render()
province_num = df_all.groupby('province')['true_purchase'].sum().sort_values(ascending=False)
# 地图
map1 = Map(init_opts=opts.InitOpts(width='1350px', height='750px'))
map1.add("", [list(z) for z in zip(province_num.index.tolist(), province_num.values.tolist())],
maptype='china'
)
map1.set_global_opts(title_opts=opts.TitleOpts(title='全国自热食品店铺月销量分布'),
visualmap_opts=opts.VisualMapOpts(max_=500000),
)
map1.render()
# 分箱
bins = [0,30,50,100,150,200,500,1000,9999]
labels = ['0-30元', '30~50元', '50-100元', '100-150元', '150-200元', '200-500元', '500-1000元', '1000-8800']
df_all['price_cut'] = pd.cut(df_all.price, bins=bins, labels=labels, include_lowest=True)
price_num = df_all['price_cut'].value_counts()
# 数据对
data_pair2 = [list(z) for z in zip(price_num.index.tolist(), price_num.values.tolist())]
# 绘制饼图
pie2 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px'))
pie2.add('', data_pair2, radius=['35%', '60%'])
pie2.set_global_opts(title_opts=opts.TitleOpts(title='自热食品都卖多少钱?'),
legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%'))
pie2.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:\n{d}%"))
pie2.set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF'])
pie2.render()
结语:
最后在说道自热食品,虽然说宅家时,打开包装稍等一会儿就能吃上热腾腾的小火锅或米饭,真的是太方便了。但是同时,关于自热食品安全隐患的消息也频出,在食物的种类和口感上更是比不上自己做的或外面吃的新鲜食材了。对自热食品你是怎么看的呢?欢迎留言告诉我们哦。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 MySQL 数据查询中,“按顺序计数” 是高频需求 —— 例如 “统计近 7 天每日订单量”“按用户 ID 顺序展示消费记录”“按产品 ...
2025-10-31在数据分析中,“累计百分比” 是衡量 “部分与整体关系” 的核心指标 —— 它通过 “逐步累加的占比”,直观呈现数据的分布特征 ...
2025-10-31在 CDA(Certified Data Analyst)数据分析师的工作中,“二分类预测” 是高频需求 —— 例如 “预测用户是否会流失”“判断客户 ...
2025-10-31在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29在数据分析中,“正态分布” 是许多统计方法(如 t 检验、方差分析、线性回归)的核心假设 —— 数据符合正态分布时,统计检验的 ...
2025-10-28箱线图(Box Plot)作为展示数据分布的核心统计图表,能直观呈现数据的中位数、四分位数、离散程度与异常值,是质量控制、实验分 ...
2025-10-28在 CDA(Certified Data Analyst)数据分析师的工作中,“分类变量关联分析” 是高频需求 —— 例如 “用户性别是否影响支付方式 ...
2025-10-28在数据可视化领域,单一图表往往难以承载多维度信息 —— 力导向图擅长展现节点间的关联结构与空间分布,却无法直观呈现 “流量 ...
2025-10-27这个问题问到了 Tableau 中两个核心行级函数的经典组合,理解它能帮你快速实现 “相对位置占比” 的分析需求。“index ()/size ( ...
2025-10-27对 CDA(Certified Data Analyst)数据分析师而言,“假设检验” 绝非 “套用统计公式的机械操作”,而是 “将模糊的业务猜想转 ...
2025-10-27在数字化运营中,“凭感觉做决策” 早已成为过去式 —— 运营指标作为业务增长的 “晴雨表” 与 “导航仪”,直接决定了运营动作 ...
2025-10-24在卷积神经网络(CNN)的训练中,“卷积层(Conv)后是否添加归一化(如 BN、LN)和激活函数(如 ReLU、GELU)” 是每个开发者都 ...
2025-10-24在数据决策链条中,“统计分析” 是挖掘数据规律的核心,“可视化” 是呈现规律的桥梁 ——CDA(Certified Data Analyst)数据分 ...
2025-10-24在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23