使用groupby方法拆分数据
- 准备数据
准备数据meal_order_info.csv,并将meal_order_info.csv数据放到Linux本地/course/DataAnalyze/data目录。
- 使用groupby方法拆分数据
- 以T餐饮企业的菜品订单详情表为例,依据订单编号对数据进行分组,如代码 41所示。
In[1]: | import pandas as pd import numpy as np import os os.chdir(‘/course/DataAnalyze/data’) detail= pd.read_csv ('meal_order_detail1.csv') detailGroup = detail[['order_id','counts','amounts']].groupby(by = 'order_id') print('分组后的订单详情表为:',detailGroup) |
Out[1]: | 分组后的订单详情表为:<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x0000000008A9DE48> |
- T餐饮企业的菜品订单表经过分组操作后每一组的均值,标准差,中位数如代码 42所示。
In[2]: | print('订单详情表分组后前5组每组的均值为:\n', detailGroup.mean().head()) |
Out[2]: | 订单详情表分组后前5组每组的均值为: counts amounts order_id 1002 1.0000 32.000 1003 1.2500 30.125 1004 1.0625 43.875 1008 1.0000 63.000 1011 1.0000 57.700 |
In[3]: | print('订单详情表分组后前5组每组的标准差为:\n', detailGroup.std().head()) |
Out[3]: | 订单详情表分组后前3组每组的标准差为: counts amounts order_id 1002 0.00000 16.000000 1003 0.46291 21.383822 1004 0.25000 31.195886 1008 0.00000 64.880660 1011 0.00000 50.077828 |
In[4]: | print('订单详情表分组后前5组每组的大小为:','\n', detailGroup.size().head()) |
Out[4]: | 订单详情表分组后前5组每组的大小为: order_id 1002 7 1003 8 1004 16 1008 5 1011 10 dtype: int64 |