python数据分析实战项目笔记(jupyter)
·
快捷操作:
ctrl+shift+减号:添加代码块
shift+回车:程序重新执行一遍
案例一:餐厅订单
0、基础信息
数据范围:8月份的订单信息,三个sheet页分别为8月的上中下旬各10天

主要使用的数据字段为:
| 字段名 | 含义 |
| order_id | 订单id |
| dishes_name | 菜品名称 |
| counts | 单个菜品的点菜数量 |
| amounts | 菜品单价 |
|
place_order_time |
订单时间 |
| day | 通过订单日期获取订单日’:8月1号、2号 |
| weekday | 通过订单日期获取订单星期:星期一、星期二 |
| hour | 通过订单日期获取订单小时:8点、11点 |
1、数据的基础sheet合并
read_excel()函数:读取excel文件
pandas.read_excel(io, sheet_name=0, header=0, index_col=None, parse_cols=None, parse_dates=False, date_parser=None, na_filter=True, skiprows=None, nrows=None, use_cols=None, engine='openpyxl', converters=None, true_values=None, false_values=None, skipfooter=0, skip_footer=False, error_bad_lines=True, warn_bad_lines=True, low_memory=True, verbose=False, index=True, squeeze=False)
data.info()函数:查看数据的基本信息

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


3、数据分析
(1)求菜品的平均值
平均值的两种方法:numpy和pandas,如果数据量笔记大,使用numpy效率高
注:amounts为菜品单价
(2)频数统计:哪个菜品受欢迎
通过统计菜品名字的个数,判断该菜品被点了多少次

取前10名
![]()
绘制柱状图
![]()

视图的参数样式调整
![]()
将柱状图顶部中心,添加数值显示

(3)哪个订单的点菜种类最多
如图所示:统计订单id的数量,即每个订单点菜品种类的个数



(4)订单id点菜数量top10
dataGroup:通过groupby函数,根据订单获取并分组4列数据,通过sum函数进行分组求和
该数据为后续统计基础
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False)



(5)哪个订单的消费金额最多

(6)哪个订单的平均消费单价最贵

(7)点菜量的时间段分析



(8)哪一天的订单数量最多


(9)星期几的人数最多,订单数最多,映射数据到星期

总结

案例二:物流数据行业分析
基础信息

1、数据清洗


(1)删除重复数据



(2)异常值处理
通过describe函数,看出平均值与中位数差距较大,存在右偏分布情况,需要对销售金额的异常0值进行处理


通过删除销售金额为0的数据,重新查看销售金额的分布情况

2、数据规整
首先将销售时间转化为日期格式,然后通过函数获取月份

3、数据分析可视化







DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)