文章目录

  • 前言
  • 1、探索Chipotle快餐数据
  • 2、问题一览
  • 3、题解
    • 3.1、基于SQL
    • 3.2、基于pandas
  • 小结

前言

最近发现一个不错的数据实战小demo,总共有10个业务场景大约100个例题组成,笔者主要通过SQL与python的pandas包进行问题的解决,不足之处望读者多多指正。

1、探索Chipotle快餐数据

  • 学习主题:了解自己的数据
  • 对应数据集: chipotle.tsv
  • 数据简介:
    chipotle数据
    字段信息 order_id(订单id) quantity (数量) item_name (类目) choice_description item_price(价格)

    (图片源自网络,如有侵权,请联系删除)

2、问题一览

  1. 导入数据集
  2. 打印出全部的列名称
  3. 打印出前10条信息
  4. 被下单数最多商品(item)是什么?
  5. 在item_name这一列中,一共有多少种商品被下单?
  6. 在choice_description中,下单次数最多的商品是什么?
  7. 每一单(order)对应的平均总价是多少?
  8. 一共有多少商品被下单?
  9. 将item_price转换为浮点数
  10. 在该数据集对应的时期内,收入(revenue)是多少?
  11. 在该数据集对应的时期内,一共有多少订单?

3、题解

3.1、基于SQL

SELECT * FROM `chipotle`
-- 业务练习100例子.SQL
-- 了解chipotle数据
-- 字段信息  order_id quantity (数量) item_name  (类目)  choice_description  item_price-- 1、导入数据集
--   见图-- 2、打印出全部的列名称
desc `chipotle`-- 3、打印出前10条信息
SELECT *from chipotlelimit 10-- 4、被下单数最多商品(item)是什么?
SELECT item_name,max(num) AS max_numfrom (SELECT item_name, sum(quantity) AS numfrom chipotlegroup by item_name) a -- 5、在item_name这一列中,一共有多少种商品被下单?
SELECT count(distinct item_name)from chipotle-- 6、在choice_description中,下单次数最多的商品是什么?
SELECT choice_description,max(num) AS max_numfrom (SELECT choice_description, sum(quantity) AS numfrom chipotlewhere choice_description !='NULL'group by choice_description) a -- 7、每一单(order)对应的平均总价是多少?
SELECT round(avg(jg),2)from (SELECT order_id,sum(cast(quantity as double))*cast(SUBSTR(item_price,2) as DOUBLE) as jg from chipotlegroup by order_id) a
-- 8、一共有多少商品被下单?SELECT count(1) as cnt from chipotle-- 9、将item_price转换为浮点数
SELECT ROUND(cast(SUBSTR(item_price,2) as float),2) as item_pricefrom chipotle-- 10、在该数据集对应的时期内,收入(revenue)是多少
SELECT ROUND(sum(quantity*item_price),2) as revenueFROM(SELECT order_id,sum(cast(quantity as double)) as quantity ,cast(SUBSTR(item_price,2) as DOUBLE) as item_pricefrom chipotlegroup by order_id,cast(SUBSTR(item_price,2) as DOUBLE)) a -- 11、在该数据集对应的时期内,一共有多少订单?
SELECT count(distinct order_id) as order_idfrom chipotle---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--

3.2、基于pandas

# 了解chipotle数据
# 字段信息  order_id quantity (数量) item_name  (类目)  choice_description  item_price
# 1、导入数据
import pandas as pd
chipo= pd.read_csv(r"E:\code\jupyter_notebook\pandas_exercise\exercise_data\chipotle.csv",engine = 'python')
# 2、打印出全部的列名称
chipo.columns
Index(['order_id', 'quantity', 'item_name', 'choice_description','item_price'],dtype='object')
# 3、打印出前10条信息
chipo.head(10)
order_id quantity item_name choice_description item_price
0 1 1 Chips and Fresh Tomato Salsa NaN $2.39
1 1 1 Izze [Clementine] $3.39
2 1 1 Nantucket Nectar [Apple] $3.39
3 1 1 Chips and Tomatillo-Green Chili Salsa NaN $2.39
4 2 2 Chicken Bowl [Tomatillo-Red Chili Salsa (Hot), [Black Beans... $16.98
5 3 1 Chicken Bowl [Fresh Tomato Salsa (Mild), [Rice, Cheese, Sou... $10.98
6 3 1 Side of Chips NaN $1.69
7 4 1 Steak Burrito [Tomatillo Red Chili Salsa, [Fajita Vegetables... $11.75
8 4 1 Steak Soft Tacos [Tomatillo Green Chili Salsa, [Pinto Beans, Ch... $9.25
9 5 1 Steak Burrito [Fresh Tomato Salsa, [Rice, Black Beans, Pinto... $9.25
# 4、被下单数最多商品(item)是什么?
q4 = chipo[['item_name','quantity']].groupby(['item_name'],as_index=False).agg({'quantity':sum})
q4.sort_values(['quantity'],ascending=False,inplace=True)
q4.head(1)
item_name quantity
17 Chicken Bowl 761
# 5、在item_name这一列中,一共有多少种商品被下单?
chipo['item_name'].nunique()
50
# 6、在choice_description中,下单次数最多的商品是什么?
chipo['choice_description'].value_counts().head(1)
[Diet Coke]    134
Name: choice_description, dtype: int64
# 7、每一单(order)对应的平均总价是多少?
chipo[['order_id','sub_total']].groupby(by=['order_id']
).agg({'sub_total':'sum'})['sub_total'].mean()
21.394231188658654
# 8、一共有多少商品被下单?
total_items_orders = chipo['quantity'].sum()
total_items_orders
4972
# 9、将item_price转换为浮点数
dollarizer = lambda x: float(x[1:-1])
chipo['item_price'] = chipo['item_price'].apply(dollarizer)
# 10、在该数据集对应的时期内,收入(revenue)是多少
chipo['sub_total'] = round(chipo['item_price'] * chipo['quantity'],2)
chipo['sub_total'].sum()
39237.02
# 11、在该数据集对应的时期内,一共有多少订单?
chipo['order_id'].nunique()
1834

小结

日常工作hive用习惯了,搞这个pandas来写有点不习惯,反而没觉得方便多少,但确实是比较省代码的,暂时就玩玩当做对比SQL学习预习复习pandas的一种方式,除了数据比赛和割韭菜的培训班暂时还无法脑补啥样子的业务场景会用pandas,不足之处,望多多指正。

数据分析实战100例(基于SQLPandas)_探索Chipotle快餐数据相关推荐

  1. python练习——探索 Chipotle 快餐数据

    1. 将数据集存入一个名为 chipo 的数据框内  import pandas as pd chipo = pd.read_csv('chipotle.tsv',sep='\t') 知识点: 读取c ...

  2. 【PyTorch深度学习项目实战100例】—— 基于ResNet50实现多目标美味蛋糕图像分类 | 第51例

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  3. 【PyTorch深度学习项目实战100例】—— 基于CNN实现书法字体风格识别任务 | 第62例

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  4. 【PyTorch深度学习项目实战100例】—— 基于聚类算法完成航空公司客户价值分析任务 | 第18例

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  5. 【PyTorch深度学习项目实战100例】—— 基于逻辑回归方法完成垃圾邮件过滤任务 | 第22例

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  6. 【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  7. 【PyTorch深度学习项目实战100例】—— Python+OpenCV+MediaPipe手势识别系统 | 第2例

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  8. ChatGPT实战100例 - (10) 提前体验ChatGPT的多模态绘图功能

    文章目录 ChatGPT实战100例 - (10) 提前体验ChatGPT的多模态绘图功能 一.需求与思路 二.基本调教 三.开始秀 四. 总结 ChatGPT实战100例 - (10) 提前体验Ch ...

  9. Spark商业案例与性能调优实战100课》第20课:大数据性能调优的本质和Spark性能调优要点分析

    Spark商业案例与性能调优实战100课>第20课:大数据性能调优的本质和Spark性能调优要点分析 基于本元想办法,大智若愚,大巧若拙!深入彻底的学习spark技术内核!

  10. 语言趣味编程100例无水印_趣味c语言编程100例(三)

    经典c程序100例==51--60 [程序51] 题目:学习使用按位与 & . 1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 2.程序源代 ...

最新文章

  1. 创业者们的19个Surprises
  2. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]
  3. mysql 唯一记录_mysql选择唯一记录
  4. 如何有效申请TI的免费样片
  5. 阿里P8架构师谈:流量高峰时期的性能瓶颈有哪些、以及如何来解决
  6. 我的前端成长之路:中医药大学毕业的业务女前端修炼之路
  7. 单利 java_Java设计模式-单利模式
  8. 软件安全测试的几个原则
  9. 游戏开发学什么?四步修炼骨灰级高手
  10. 全排列——深度优先搜索
  11. UDS诊断系列介绍03-DCM
  12. matlab模拟退火算法工具箱下载,Matlab的模拟退火算法工具箱
  13. 面试官问我 RabbitMQ 消息如何插队?
  14. Logisim海明编码解码实验
  15. Leetcode 120. Triangle 三角形问题(动态规划经典) 解题报告
  16. jQuery带有动画的返回顶部
  17. Cobalt Strike (cs)联动 Goby 进行内网扫描
  18. helm部署jenkins到k8s并创建pipeline构建项目
  19. SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
  20. 面阵相机与六轴机器人之间通过偏差移动

热门文章

  1. 安装Python解释器【图文集合 - 详细流程】
  2. 数学建模算法python源码_如何使用python完成数学建模常见算法
  3. 群晖如何建php网站_群晖nas使用教程31:搭建个人网站ZBLOG
  4. pdf安装包_PDF多功能格式转换器安装教程附安装包
  5. lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.479 x86-x64 ZH-CN PIP
  6. qq空间显示手机型号android,qq说说显示手机型号 qq说说显示手机型号在哪里设置...
  7. linux命令文本模式上网,Linux文本模式下上网简单命令
  8. 【网络工程师】 H3C如何配置VLAN-trunk 二层隔离技术
  9. sql获取服务器系统时间,SQL Server取系统当前时间
  10. C语言自学之路十(用C语言编写小游戏-五子棋)