现有奶茶店数据,有下单时间,制作完成时间,一单中的杯量,门店编号,现需要计算每个门店,每天在下单这一刻时,前方还有几杯奶茶没有制作完成,请写出Python代码
时间: 2024-03-27 09:40:17 浏览: 48
假设数据已经存储在名为`data`的DataFrame中,下单时间和制作完成时间已经是datetime类型,可以按照以下步骤计算每个门店每天在下单时前方还有几杯奶茶没有制作完成:
```python
import pandas as pd
# 将下单时间按日期取出,并转换为字符串类型
data['order_date'] = data['order_time'].dt.date.astype(str)
# 按门店编号和下单日期分组,计算前方未完成的杯数
data['unfinished_cups'] = (data.groupby(['store_id', 'order_date'])
['cups'].cumsum() - data['cups'])
# 只保留下单时间,并去重
data = data[['store_id', 'order_time', 'unfinished_cups']].drop_duplicates()
# 按门店编号和下单时间取出最后一个未完成杯数
result = (data.groupby(['store_id', 'order_time'])
['unfinished_cups'].last().reset_index())
# 输出结果
print(result)
```
这段代码首先将下单时间按日期取出,并转换为字符串类型,然后按照门店编号和下单日期分组,计算前方未完成的杯数。接着只保留下单时间,并去重。最后按照门店编号和下单时间取出最后一个未完成杯数,得到每个门店每天在下单时前方还有几杯奶茶没有制作完成的结果。
阅读全文