df1有下单时间,门店编码,各门店门店人数,各个订单的金额字段。现需要计算出各门店一周和一个月的人效,请写出Python代码
时间: 2024-03-17 11:45:12 浏览: 55
订单分批-python代码
假设df1为一个Pandas的DataFrame,其中包含下单时间(order_time)、门店编码(store_code)、门店人数(store_population)和订单金额(order_amount)等字段。则可以按照以下方式计算各门店的人效:
```python
import pandas as pd
# 将下单时间转换为日期格式
df1['order_time'] = pd.to_datetime(df1['order_time'])
# 根据门店编码和下单时间进行分组
grouped = df1.groupby(['store_code', pd.Grouper(key='order_time', freq='W-MON')])
# 计算每周的订单总金额
weekly_sales = grouped['order_amount'].sum()
# 计算每周的人效
weekly_efficiency = weekly_sales / grouped['store_population'].first()
# 根据门店编码和下单时间(月)进行分组
grouped = df1.groupby(['store_code', pd.Grouper(key='order_time', freq='M')])
# 计算每月的订单总金额
monthly_sales = grouped['order_amount'].sum()
# 计算每月的人效
monthly_efficiency = monthly_sales / grouped['store_population'].first()
```
其中,使用`pd.Grouper`函数将下单时间按照周和月进行分组,`first()`函数用于获取每组中门店人数的第一个值,即该时段内门店人数不变的情况下的门店人数。
阅读全文