pandas笔记(六)-- 即时食物配送

题目描述

定义配送表 delivery, 包含以下字段

Column Name Type
delivery_id int
customer_id int
order_date date
customer_pref_delivery_date date

delivery_id 是表的主键(具有唯一值的列)。
该表保存着顾客的食物配送信息, 顾客下单日期, 并指定了一个期望的配送日期(和下单日期相同或者在那之后)。

如果顾客期望的下单日期 customer_pref_delivery_date 与计划日期 order_date 相同,则称之为即时订单,否则称为计划订单。
编写解决方案统计即时订单所占日期的百分比, 保留两位小数。

测试用例

输入表

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

代码

import pandas as pd

def food_delivery(delivery: pd.DataFrame) -> pd.DataFrame:
    immediate_len = len(delivery[delivery["order_date"]==delivery["customer_pref_delivery_date"]])
    percentage = immediate_len*1e2/len(delivery)
    data = pd.DataFrame({"immediate_percentage":[percentage]})
    return data[["immediate_percentage"]].round(2)

posted @ 2024-07-25 19:36  KevinScott0582  阅读(4)  评论(0编辑  收藏  举报