【第4章】4.2任务

news/2024/11/7 5:28:27/

查看餐饮数据的大小和维度

from sqlalchemy import create_engine
import pandas as pd
engine = create_engine('mysql+pymysql://root:981221@localhost/testdb?charset=utf8mb4')
detail = pd.read_sql_table('meal_order_detail1',con=engine)
order = pd.read_table('D:/pandas/meal_order_info.csv',sep=',',encoding='gbk')
user = pd.read_excel('D:/pandas/users.xlsx')
print('订单的详情表的维度:',detail.ndim)
print('订单信息表的维度:',order.ndim)
print('客户信息表的维度:',user.ndim)
订单的详情表的维度: 2
订单信息表的维度: 2
客户信息表的维度: 2
print('详情标的形状:',detail.shape)
print('信息表的形状:',order.shape)
print('客户表的形状:',user.shape)
详情标的形状: (2779, 19)
信息表的形状: (945, 21)
客户表的形状: (734, 37)
print('详情表的元素个数:',detail.size)
print('信息表的元素个数:',order.size)
print('客户表的元素个数:',user.size)
详情表的元素个数: 52801
信息表的元素个数: 19845
客户表的元素个数: 27158

统计菜品销售情况

数值型特征

print('详情表里单价(counts)和数目(amounts)两列的描述性统计:\n',detail.loc[:,['counts','amounts']].describe())
详情表里单价(counts)和数目(amounts)两列的描述性统计:counts      amounts
count  2779.000000  2779.000000
mean      1.111191    45.337172
std       0.625428    36.808550
min       1.000000     1.000000
25%       1.000000    25.000000
50%       1.000000    35.000000
75%       1.000000    56.000000
max      10.000000   178.000000
detail['order_id'] = detail['order_id'].astype('category')
detail['dishes_name'] = detail['dishes_name'].astype('category')
print('''信息表的订单标号(order_id)和菜品名称(dishes_name)的描述性统计结果:
\n''',detail[['order_id','dishes_name']].describe())
信息表的订单标号(order_id)和菜品名称(dishes_name)的描述性统计结果:order_id dishes_name
count      2779        2779
unique      278         145
top         392       白饭/大碗
freq         24          92

信息总结:

  1. 菜品均售价为45.3元
  2. 订单信息里销售最多的菜品数目达92中
  3. 销售最多的菜品是白米饭
  4. 订单标号为392号的物品种类最多,有24种

剔除 “全是空值” 或者 “所有元素取值相同” 的列

  • shape[1] 表示列的大小
def dropNullStd(data):beforerlen = data.shape[0]beforeclen = data.shape[1]colisNull = data.describe().loc['count'] == 0print(type(colisNull))print('beforerlen[0]:',beforerlen)print('beforeclen[1]:',beforeclen)for i in range(len(colisNull)):if colisNull[i]:data.drop(colisNull.index[i], axis = 1,inplace = True)stdisZero = data.describe().loc['std'] == 0for i in range(len(stdisZero)):if stdisZero[i]:data.drop(stdisZero.index[i], axis = 1, inplace = True)afterclen = data.shape[1]print('剔除的列的数目:',beforeclen-afterclen)print('剔除后数据形状为:',data.shape)# 对详情表的操作
dropNullStd(detail)
<class 'pandas.core.series.Series'>
beforerlen[0]: 2779
beforeclen[1]: 19
剔除的列的数目: 0
剔除后数据形状为: (2779, 19)
# 对信息表的操作
dropNullStd(order)
<class 'pandas.core.series.Series'>
beforerlen[0]: 945
beforeclen[1]: 21
剔除的列的数目: 7
剔除后数据形状为: (945, 14)
# 对客户表的操作
dropNullStd(user)
<class 'pandas.core.series.Series'>
beforerlen[0]: 734
beforeclen[1]: 37
剔除的列的数目: 13
剔除后数据形状为: (734, 24)

http://www.ppmy.cn/news/404128.html

相关文章

第二章:任务计划

目录 at&#xff1a;单一一次的任务计划 at命令简单介绍&#xff08;建议&#xff1a;man at&#xff09; 创建计划 删除任务计划 禁止某用户创建计划 crontab:周期性任务计划 crontab命令介绍​​​​​​​ 1.查看crond服务程序运行状态&#xff08;两种方法&#xff…

计划任务详解

计划任务&#xff1a;根据自己的时间计划去执行指令或者执行脚本&#xff0c;让计算机到时间自动运行。 分类&#xff1a; 》 一次性计划任务 at &#xff08;服务名为atd&#xff09; 软件名为at 》周期性计划任务分为两种&#xff1a;1、crontab -e &#xff0c;2、/etc/…

02 任务

1.单位定义存储单位&#xff1a;存储在计算机硬盘或内存中的信息容量标准&#xff0c;最小计量单位是“位”&#xff08;Bit&#xff0c;比特&#xff09;&#xff0c;一个Bit位表示一个二进制的0或1在计算机中所占用的存储空间 传输单位&#xff1a;在计算机网络中称为带宽&a…

一篇博客搞定C++11之Lambda表达式(附案例代码+解析)

Lambda表达式 1.lambda表达式语法2.捕获列表说明3.lambda表达式实现原理4.具体案例5.总结 1.lambda表达式语法 ambda表达式的语法非常简单&#xff0c;具体定义如下&#xff1a; [ captures ] ( params ) specifiers exception -> ret { body } 先不用急于解读这个定义&…

从零开始 Spring Boot 41:事件

从零开始 Spring Boot 41&#xff1a;事件 图源&#xff1a;简书 (jianshu.com) Spring 实现了一个简单、实用的事件框架&#xff0c;利用它我们可以在多个组件之间进行松耦合式的通信。 简单示例 让我们从一个简单的示例开始&#xff1a; public record Email(String addr…

简要介绍 | 三维点云配准:理论、方法与挑战

三维点云配准&#xff1a;理论、方法与挑战 注&#xff1a;”简要介绍“系列仅从概念上对某一领域进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解 三维点云配准 是计算机视觉和机器人领域的重要课题&#xff0c;涉及从不同视角或时间点采集的三维点云数据之间寻找最…

【无标题】面试常考算法(3):二叉树遍历(创建、遍历、销毁)

这部分不够熟悉的话&#xff0c;面试直接递归就行。不过实际中虽然递归在某些情况下可以提供简洁和优雅的解决方案&#xff0c;但可能占用大量的内存空间和导致额外时间开销&#xff0c;所以还是尽量使用非递归。因为每次递归调用时&#xff0c;函数的局部变量和参数都需要在栈…

VBA基础(宏编程)

VBA介绍&#xff1a; Visual Basic for Applications&#xff08;VBA&#xff09;是 VisualBasic 的一种宏语言&#xff0c;是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展 Windows 的应用程序功能&#xff0c;特别是Microsoft Office…