每日一题31:数据统计之即时配送食物

一、每日一题

配送表: Delivery

+-----------------------------+---------+
| Column Name                 | Type    |
+-----------------------------+---------+
| delivery_id                 | int     |
| customer_id                 | int     |
| order_date                  | date    |
| customer_pref_delivery_date | date    |
+-----------------------------+---------+
delivery_id 是表的主键(具有唯一值的列)。
该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。

如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。

编写解决方案统计即时订单所占的百分比, 保留两位小数。

返回结果如下所示。

示例 1:

输入:
Delivery 表:
+-------------+-------------+------------+-----------------------------+
| delivery_id | customer_id | order_date | customer_pref_delivery_date |
+-------------+-------------+------------+-----------------------------+
| 1           | 1           | 2019-08-01 | 2019-08-02                  |
| 2           | 5           | 2019-08-02 | 2019-08-02                  |
| 3           | 1           | 2019-08-11 | 2019-08-11                  |
| 4           | 3           | 2019-08-24 | 2019-08-26                  |
| 5           | 4           | 2019-08-21 | 2019-08-22                  |
| 6           | 2           | 2019-08-11 | 2019-08-13                  |
+-------------+-------------+------------+-----------------------------+
输出:
+----------------------+
| immediate_percentage |
+----------------------+
| 33.33                |
+----------------------+
解释:2 和 3 号订单为即时订单,其他的为计划订单。

解答:

import pandas as pd# 创建示例数据
data = {"delivery_id": [1, 2, 3, 4, 5, 6],"customer_id": [1, 5, 1, 3, 4, 2],"order_date": ["2019-08-01", "2019-08-02", "2019-08-11", "2019-08-24", "2019-08-21", "2019-08-11"],"customer_pref_delivery_date": ["2019-08-02", "2019-08-02", "2019-08-11", "2019-08-26", "2019-08-22", "2019-08-13"]
}df = pd.DataFrame(data)# 假如data中的数据储存不是时间类型,需要转换;反之,不需要这部分代码
df['order_date'] = pd.to_datetime(df['order_date'])
df['customer_pre_delivery_date'] = pd.to_datetime(df['customer_pref_delivery_date'])# 计算即时账单
immediate_orders = df[df['order_date'] == df['customer_pref_delivery_date']].shape[0]# 计算总订单数
total_orders = df.shape[0]# 计算即时订单百分比
immediate_percentage = (immediate_orders / total_orders) * 100# 创建结果DataFrame
result = pd.DataFrame({'immediate_percentage': [round(immediate_percentage, 2)]})# 显示结果
print(result)

二、总结

这里用到了字符串转时间类型。可参考之前的博客:

python格式转换与时间类型

2024.6.3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5常用标签表格

04-08、表格标签table 概述 表格:是一种行和列组合而成的单元格。一般应用于后台网页设计管理数据使用。 表格的架构部分: tabletable head 表格头 theadtable body - 表格体 tbodytable foot -表格的页脚 tfoot 表格的基本组成部分: t…

Bluetooth Profiles,蓝牙配置文件对应设备

下面的常量是蓝牙各种配置文件的标识符。 每个常量代表一个特定的蓝牙配置文件,这些配置文件定义了蓝牙设备之间通信的特定方式。以下是每个常量的解释: HEADSET (1): 代表耳机和免提配置文件,通常用于蓝牙耳机或车载免提系统。A2DP (2): 代…

opencv-python(三)

马赛克 face img[162:428,297:527] # 人脸坐标区域face face[::10,::10] # 每10个中取出一个像素,马赛克face np.repeat(face, 10, axis0) # 行方向重复10次face np.repeat(face, 10, axis1) # 列方向重复10次img[162:428,297:527] face[:266,:230] # 填充&a…

计算机科学与技术和软件工程专业有什么区别?应该怎么选?

计算机科学与技术和软件工程都是就业前景较好的计算机类专业,二者密切相关但侧重点不同,同学们应该如何选择呢? 一、学习内容 1.学科定位 ● 计算机科学与技术 侧重于计算机科学的理论研究和基础技术,包括算法、数据结构、人工…

lnmp平台部署web应用,安装Discuz社区平台详细文章——更新中

Nginx网站service 详细相关介绍-特点-http状态码-配置文件、将nginx添加永久环境变量 访问网站404是什么?_nginx 稳定版-CSDN博客文章浏览阅读1.2k次,点赞33次,收藏24次。开源Web服务器软件。_nginx 稳定版https://blog.csdn.net/2301_771619…

数据结构--数组(详细分析)

目录 🍉引言 🍉数组 🍈数组的特性 🍈数组的优缺点 🍍优点: 🍍缺点: 🍈数组的声明与初始化 🍈数组的常见操作 🍍 插入操作 🍍…

Touch Camera PRO 2024 Easy Mobile Desktop Camera Controller(触控相机专业版)

一个真正易于使用的移动+台式摄像机控制器,具有视角切换功能! Touch Camera PRO 是一款非常易于使用的移动+桌面相机控制器,具有透视切换功能!它在 Home Designer、Runtime Level Editor 和 Floor Map Designer 等其他插件中使用! 在桌面和移动设备上工作! 一个干…

WIireShark使用教程

文章目录 目录 文章目录 一.入门抓包示例 一.入门抓包示例 先介绍一下如何使用wireshark抓取相应网卡的流量,让读者可以先上手操作感受一下抓包的具体过程。 1.打开wireshark的主界面如下 2.选择需要抓包的网卡,鼠标左键双击,即可抓取该网…

Mysql常见问题总结

1、MySQL初始化报错 mysqld --initialize --usermysql --console 2024-06-02T15:52:22.645557Z 0 [System] [MY-013169] [Server] D:\installSoft\mysql-8.0.21-winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 8980 2024-06-02T15:52:2…

02-2.3.2_1 单链表的插入和删除

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。 此外,《程序员必备技能》专栏和《程序员必备工具》专栏(该专栏暂未开设)日后会逐步更新, 插入 按位序插入 (1)带头结点 L…

量子加速超级计算简介

本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块:QPU 和量子位三、量子计算硬件和算法四、…

代码随想录算法训练营第三十七 | ● 738.单调递增的数字 ● 968.监控二叉树

738.单调递增的数字 讲解链接:https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html class Solution { public:int monotoneIncreasingDigits(int n) {//整数转字符串,变为字符串访问比诸位取出数字要…

项目集成过程中的makefile记录

项目集成过程中的makefile记录 文章目录 项目集成过程中的makefile记录1.基础概念注释打印赋值方式常用变量$ 伪目标函数wildcard 多目录、文件操作 2.思路梳理**需求分析**目录结构 3.可行示例 持续更新中1.基础概念 注释 # 示例: # 项目名称打印 echo "H…

控制台相关

输入输出 输出 Console.WriteLine("123123");//光标空行 Console.Write("123123123123");//不空行输入 string str Console.ReadLine(); //如果在ReadKey(true)不会把输入的内容显示在控制台上 char c Console.ReadKey(true).KeyChar; Console.WriteL…

ACM实训第25天

第四套 第一道&#xff08;修改&#xff09; #include<stdio.h> #include<string.h> int cnt[10]; void count_digits(int n,int* cnt){for(int i1;i<n;i){int numi;while(num){cnt[num%10];num/10;}} } int main(){int t;scanf("%d\n",&t);whi…

力扣刷题--2553. 分割数组中数字的数位【简单】

题目描述 给你一个正整数数组 nums &#xff0c;请你返回一个数组 answer &#xff0c;你需要将 nums 中每个整数进行数位分割后&#xff0c;按照 nums 中出现的 相同顺序 放入答案数组中。 对一个整数进行数位分割&#xff0c;指的是将整数各个数位按原本出现的顺序排列成数…

名为投资实为借贷,如何处理

投资近百万参与号称“高回报、零风险”的内部商铺投资项目&#xff0c;与公司签订商铺投资合同及租赁合同。本想投资商铺收取租金&#xff0c;没想到不仅租金没拿到手&#xff0c;连本金都要不回来。 2019年底&#xff0c;原告何某&#xff08;乙方&#xff09;与被告祁东县某…

QSettings注册表 json双模式配置文件

qt QSettings 类可用来保存软件设置&#xff0c;json文件也是保存软件设置的很好的方式&#xff0e; 这里结合json文件和QSettings注册表来保存软件设置&#xff0e;区别在于json文件在软件目录&#xff0c;每次更新时会被覆盖&#xff0c;注册表中设置持久有效&#xff0c;…

14.FreeRTOS 消息缓存 Message Buffer

FreeRTOS 消息缓存&#xff08;Message Buffer&#xff09;的使用 介绍 在实时操作系统&#xff08;RTOS&#xff09;中&#xff0c;任务之间的通信是一个非常重要的方面。FreeRTOS 提供了多种机制来实现任务间通信&#xff0c;其中之一就是消息缓存&#xff08;Message Buffe…

【IC验证】一文速通多通道数据整型器(MCDF)

目录 01 README 02 MCDF设计结构 2.1 功能描述 2.2 设计结构 2.3 接口与时序 2.3.1 系统信号接口 2.3.2 通道从端接口 2.3.3 整形器接口 2.3.4 控制寄存器接口 2.3.4.1 接口时序图 2.3.4.2 各数据位信息 03 验证框图 3.1 reg_pkg 3.1.1 reg_trans 3.1.2 reg_driv…