利用Jupyter Notebook python1、按照时间对菜品订单详情表进行拆分 2、使用agg方法计算单日菜品销售的平均单价和售价中位数 3、使用apply方法统计单日菜品销售数目 4、创建单日菜品成交总额与总数均价透视表 5、创建单个菜品单日成交总额透视表
时间: 2024-12-23 18:13:52 浏览: 3
在Jupyter Notebook中利用Python分析菜品订单数据,可以按以下步骤进行:
1. **拆分表格按时间**:首先,你需要加载包含菜品订单详情的数据,然后使用`pandas`库中的`groupby`函数,依据订单的时间字段(如`order_date`)进行分组。
```python
import pandas as pd
df_orders = pd.read_csv('orders.csv') # 假设从CSV文件读取数据
daily_orders = df_orders.groupby(df_orders['order_date']).sum() # 按日期汇总订单信息
```
2. **计算单日菜品平均单价和中位数**:使用`agg`方法,你可以选择`mean`和`median`函数分别计算`price`列的平均值和中位数。
```python
daily_stats = daily_orders[['price']].agg(['mean', 'median'])
```
3. **统计单日销售数目**:同样地,在`df_orders.groupby`后添加`size`,然后与原数据框合并。
```python
daily_counts = daily_orders.groupby(df_orders['order_date'])['item_id'].nunique()
daily_summary = daily_counts.to_frame(name='sales_count')
```
4. **创建成交总额与总均价透视表**:用`pivot_table`函数创建透视表,将销售额(sum of `price`)放在数值轴上,`order_date`作为行索引,`item_id`作为列标签。
```python
pivot_totals = daily_orders.pivot_table(index='order_date', values='price', aggfunc='sum')
pivot_average = pivot_totals.reset_index().pivot_table(index='order_date', columns='item_id', values='price', aggfunc='mean').fillna(0)
```
5. **单个菜品成交总额透视表**:为了获取每个菜品的日成交总额,你可以为每个菜品单独创建透视表,这需要预先对`item_id`进行分类,然后再创建各自的透视表。
```python
pivot_per_item = daily_orders.groupby(['order_date', 'item_id'])['price'].sum().reset_index()
pivot_per_item = pivot_per_item.pivot_table(index='order_date', columns='item_id', values='price', fill_value=0)
```
阅读全文