首页 > 编程语言 >快餐数据分析--Python数据分析实例

快餐数据分析--Python数据分析实例

时间:2023-08-03 18:33:52浏览次数:37  
标签:数据分析 Python name item -- df total quantity sub

1、读取数据
import pandas as pd

df = pd.read_csv('快餐数据.tsv', sep = '\t')
print(df)

快餐数据分析--Python数据分析实例_缺失值

2、查看基本信息

查看前五条数据

df.head()

快餐数据分析--Python数据分析实例_缺失值_02

查看整体信息

df.info()

快餐数据分析--Python数据分析实例_四舍五入_03

可以看到,一共有4622条数据,只有 choice_description列有缺失值, item_price为object类型是因为 价格前面有 $ 符号。 打印列名称

df.columns
Index(['order_id', 'quantity', 'item_name', 'choice_description',
       'item_price'],
      dtype='object')

快餐数据分析--Python数据分析实例_数据_04

3、详细信息

查询各商品的下单数

df[['quantity','item_name']].groupby('item_name', as_index = False).sum()

这里先按 item_name 分组,再按 quantity 求和,as_index 表示不将 item_name 作为序号

快餐数据分析--Python数据分析实例_四舍五入_05

快餐数据分析--Python数据分析实例_四舍五入_06

一共有50种商品,我们再按数量从高到低排序

c = df[['quantity','item_name']].groupby('item_name', as_index = False).sum()

# inplace为True 表示替换原数据
c.sort_values('quantity',ascending = False, inplace = True)
c.head() # 查看前五条

快餐数据分析--Python数据分析实例_数据_07

可以看到下单量最多的商品

查看某一列有多少个不同的值,使用 nunique

df['item_name'].nunique()

在 choice_description 中,下单次数最多的商品是什么

# value_counts() 对Series里面的每个值进行计数并且排序
df['choice_description'].value_counts().head()

快餐数据分析--Python数据分析实例_缺失值_08

总下单数

c['quantity'].sum() # 对该列求和

4972

计算每一行对应订单的收入

# round 四舍五入,保留2位小数
df['sub_total'] = round(df['item_price']*df['quantity'],2)

快餐数据分析--Python数据分析实例_四舍五入_09

总收入

df['sub_total']

39237.02

计算每个订单的收入

# 按订单id分组,对 sub_total 求和
df[['order_id','sub_total']].groupby('order_id').sum()

快餐数据分析--Python数据分析实例_数据_10

求所有订单的平均收入 在每个订单收入的基础上,对 sub_total 求均值

df[['order_id','sub_total']].groupby('order_id').sum()['sub_total'].mean()

21.39423118865867

标签:数据分析,Python,name,item,--,df,total,quantity,sub
From: https://blog.51cto.com/u_16200991/6951780

相关文章

  • 【ML算法基础】一欧元滤波器
    前言  参考1. 算法笔记|一欧元滤波器(1€Filter,OneEuroFilter);2. 1€FilterDemo;3. 一欧元滤波器(OneEuroFilter)_胖胖腐乳的博客-CSDN博客;4. NoiseFilteringUsing1€Filter|JaanTollanderdeBalsch;5.paper_ASimpleSpeed-basedLow-passFilte......
  • 【软件工具安装使用】boost的安装使用和交叉编译
    前言 一、编译安装 二、交叉编译安装注意空格;注意路径; 参考1. BoostC++Libraries;2. ubuntu22.04源码编译安装boost库_奇妙之二进制的博客-CSDN博客;3. Boost1.74.0交叉编译_hrx-@@的博客-CSDN博客;4. BoostGettingStartedonUnixVariants-1.82.0;5. Bo......
  • MT8766|MTK8766安卓智能联发科MTK核心板模块
    MT8766核心板具备全球蜂窝连接功能。它结合了四核ArmCortex-A53MPCoreTMCPU和ArmNEON引擎,主频高达2GHz,并配备了IMGPowerVRGE8300级图形处理器。这些组件提供了处理能力,以支持最新的OpenOS和对于网络浏览、电子邮件、应用程序和服务、全球导航和3D游戏等要求较高的应用......
  • 【软件工具安装使用】opencv交叉编译
    前言 环境准备 编译配置 opencv交叉编译  opencv_contrib交叉编译 问题1. 对‘png_do_expand_palette_rgba8_neon’未定义的引用若出现3rdparty/lib/liblibpng.a(pngrtran.c.o):在函数‘png_do_read_transformations’中:pngrtran.c:(.text.png_do_read_transf......
  • openGauss学习笔记-29 openGauss 高级数据管理-UNION子句
    openGauss学习笔记-29openGauss高级数据管理-UNION子句UNION计算多个SELECT语句返回行集合的并集。UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。29.1语法格式UNION:结果中如果出现相同的值,仅保留一个。......
  • 13-面向对象-可变参数
    一、可变参数1.基本概念Java允许将同一个类中多个同名同功能,但参数个数不同的方法,封装成一个方法,就可以通过可变参数实现。2.基本语法访问修饰符返回类型方法名(数据类型...形参名){方法体;}publicclassVarParameter01{publicstaticvoidmain(Stri......
  • Python绘制多种形式的条形图(柱状图)
    绘图前的准备因为涉及到中文显示,所以需要用两行代码解决中文乱码问题importnumpyasnpfrommatplotlibimportpyplotaspltplt.rcParams['font.sans-serif']=[u'SimHei']#SimHei就是中文字体#因为设置了中文后,负号就乱码了,所以还要设置负号的编码plt.rcParams['axes.......
  • C# MVC 自学笔记—10 在 ASP.NET MVC 中使用页面检查器
    VisualStudio2012年页督察是与集成的浏览器的web开发工具。中集成浏览器中,选择任意元素,页面检查器立即突出显示该元素的源代码和CSS。可以浏览任何MVC视图、快速查找呈现标记的来源和使用右内的VisualStudio环境浏览器工具。观看视频本教程演示如何启用检查模式,然后快......
  • Matplotlib设置图例legend、线条数据值text
    设置图例首先需要给每条线添加一个label,然后使用legend函数设置图例month=np.arange(1,13)cost=np.random.randint(10,1000,12,int)#12个月的支出income=np.random.randint(0,1000,12,int)#12个月的收入plt.xticks(month,['%d月'%iforiinmonth])#x轴会自动只显......
  • jQuery 自学笔记—10 常见特效 (终章)
    隐藏、显示、切换,滑动,淡入淡出,以及动画效果演示点击这里,隐藏/显示面板一寸光阴一寸金,因此,我们为您提供快捷易懂的学习内容。在这里,您可以通过一种易懂的便利的模式获得您需要的任何知识。实例jQueryhide()演示一个简单的jQueryhide()方法。jQueryhid......