Python实战项目

您所在的位置:网站首页 数据分析实战网站哪个好点的 Python实战项目

Python实战项目

2024-07-13 23:18:36| 来源: 网络整理| 查看: 265

项目背景

餐厅经营的好坏需要用数据来说明,如果一个餐厅生意惨淡,那么应该先收集最近的数据,然后进行数据分析,再对应相应出现的问题进行解决和做出对应的商业调整。今天开始我们分析一来家餐厅的数据。 在这里插入图片描述

认识数据并预处理

拿到一个数据,第一步就是要进行数据预处理。我们经常遇见的数据存在噪声、冗余、关联性、不完整性等。

数据预处理的常见方法

(1)数据清理:将数据中缺失的值补充完整、消除噪声数据、识别或删除离群点并解决不一致性。 (2)数据集成:将多个数据源中的数据进行整合并统一存储 (3)数据变换:通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式 (4)数据归约:数据挖掘经常数据量很大,通过对数据集进行规约或简化,可以保持元数据的完整性,且数据归约后的结果与规约前的结果几乎相同。

这里我们简单介绍,不做深入解释。这不是我们今天的主要内容。

数据介绍

我们的数据是一个餐厅订单,其中包括detail_id,order_id,dishes_id等一系列餐厅数据。拥有3个sheet,数据项大约1w左右。还有各种各样的美食和酒水,看的我流口水(蒜蓉生蚝,蒙古烤羊腿,桂圆枸杞鸽子汤,38度剑南春 ,美妙绝伦之白莲花,姜葱炒花蟹) 在这里插入图片描述 在这里插入图片描述

导入数据

现在我们开始导入数据到notebook

import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' ## 设置中文显示 %matplotlib inline # 加载数据 data1 = pd.read_excel('D:\\meal_order_detail.xlsx',sheet_name='meal_order_detail1') data2 = pd.read_excel('D:\\meal_order_detail.xlsx',sheet_name='meal_order_detail2') data3 = pd.read_excel('D:\\meal_order_detail.xlsx',sheet_name='meal_order_detail3') 数据预处理 # 数据预处理(合并数据,NA等处理),分析数据 data = pd.concat([data1,data2,data3],axis=0) #按照行进行拼接数据 # data.head(5) data.dropna(axis=1,inplace=True) #按照列删除na列,并且修改源数据 data.info()

在这里插入图片描述

简单统计

接下来我们进行数据的简单统计

统计卖出菜品的平均价格 round(data['amounts'].mean(),2) #方法一:pandas自带函数 round(np.mean(data['amounts']),2) #方法二:numpy函数处理

在这里插入图片描述 两种方法都可以,但我自己习惯第一种。

频数统计,什么菜最受欢迎 (对菜名进行频数统计,取最大前10名) dishes_count = data['dishes_name'].value_counts()[:10]

结果如图所示,果然大家都爱吃白饭。。。 在这里插入图片描述

数据可视化matplotlib

既然大家都爱吃白饭,那我们就直接可视化上面那个结果好了。

dishes_count.plot(kind='line',color=['r']) dishes_count.plot(kind='bar',fontsize=16) for x,y in enumerate(dishes_count): print(x,y) plt.text(x,y+2,y,ha='center',fontsize=12)

如图,果然还是图更显而易见。 在这里插入图片描述

8月份餐厅订单点菜种类前10名,平均点菜25个菜品 data_group = data['order_id'].value_counts()[:] data_group.plot(kind='bar',fontsize=16,color=['r','m','b','y','g']) plt.title('订单点菜的种类Top10') plt.xlabel('订单ID',fontsize=16) plt.ylabel('点菜种类',fontsize=16)

在这里插入图片描述

8月份订单点菜数量前10名

这一步首先我们的进行简单操作,我们求订单ID点菜数量Top10,因此分组order_id,counts求和,排序,前十。

统计单道菜消费总额

data['total_amounts'] =data['counts']*data['amounts']

分组求和

dataGroup = data[['order_id','counts','amounts','total_amounts']].groupby(by='order_id') Group_sum = dataGroup.sum() #分组求和 sort_counts =Group_sum.sort_values(by='counts',ascending=False) sort_counts['counts'][:10].plot(kind='bar',fontsize=16) plt.xlabel('订单ID') plt.ylabel('点菜数量') plt.title('订单ID点菜数量Top10')

在这里插入图片描述

哪个订单ID吃的钱最多(排序)

也就是求消费金额。

sort_total_amounts =Group_sum.sort_values(by='total_amounts',ascending=False) sort_total_amounts['total_amounts'][:10].plot(kind='bar') plt.xlabel('订单ID') plt.ylabel('消费金额') plt.title('消费金额前10')

在这里插入图片描述

哪个订单ID平均消费最贵 Group_sum['average'] = Group_sum['total_amounts']/Group_sum['counts'] sort_average = Group_sum.sort_values(by='average',ascending=False) sort_average['average'][:].plot(kind='bar') plt.xlabel('订单ID') plt.ylabel('消费单价') plt.title('订单消费单价前10')

在这里插入图片描述

一天当中什么时间段,点菜量比较集中(hour) data['hourcount'] = 1 # 新列,用作计数器 data['time'] = pd.to_datetime(data['place_order_time']) #将时间转换成日期类型存储 data['hour'] = data['time'].map(lambda x:x.hour) gp_by_hour = data.groupby(by='hour').count()['hourcount'] gp_by_hour.plot(kind='bar') plt.xlabel('小时') plt.ylabel('点菜数量') plt.title('点菜数与小时的关系图')

在这里插入图片描述

哪一天订餐数量最多 data['daycount'] = 1 data['day'] = data['time'].map(lambda x:x.day) #解析出天 gp_by_day = data.groupby(by='day').count()['daycount'] gp_by_day.plot(kind='bar') plt.xlabel('8月份日期') plt.ylabel('点菜数量') plt.title('点菜数量与日期的关系图') #拓展:排序,取点菜量最大的前5天

在这里插入图片描述

查看星期几人数最多,订餐数最多,映射数据到星期 data['weekcount'] = 1 data['weekday'] = data['time'].map(lambda x:x.weekday()) gp_by_weekday = data.groupby(by='weekday').count()['weekcount'] gp_by_weekday.plot(kind='bar') plt.xlabel('星期') plt.ylabel('点菜数量') plt.title('点菜数量与星期关系图')

在这里插入图片描述

总结

以上就是对数据的简单认识和处理,通过作图让我们能够更加清晰的认识数据,加深了解数据之间的联系和区别 不同维度进行数据分析: 针对订单order_id: 什么菜最受欢迎 点菜的种类 点菜的数量 消费金额最大 平均消费 针对时间日期进行分析: 点菜量比较集中的时间 哪一天订餐量最大 星期几就餐人数最多 技术点: 拼接数据:pd.concat([列1,…]) 分组进行统计(分组求和) 排序,切片Top10 绘制柱状图走势和高度



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭