Pandas 统计分析基础 笔记4 任务4.4 使用分组聚合进行组内计算

pandas_任务4.4 使用分组聚合进行组内计算

!
!!
!!!可以点击下面连接
ipynb格式浏览

4.4.1 使用groupby方法拆分数据

代码 4-51 对菜品订单详情表依据订单编号分组

import pandas as pd
import numpy as np
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/zuoye')
detail = pd.read_sql_table('meal_order_detail1',con = engine)
detailGroup = detail[['order_id','counts',
      'amounts']].groupby(by = 'order_id')
print('分组后的订单详情表为:',detailGroup)
分组后的订单详情表为: <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002547B8C0DC8>


D:\Study\anaconda\lib\site-packages\pymysql\cursors.py:170: Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'VARIABLE_VALUE' at row 1")
  result = self._query(query)

代码 4-52 GroupBy 类求均值,标准差,中位数

print('订单详情表分组后前5组每组的均值为:\n', 
      detailGroup.mean().head())

print('订单详情表分组后前5组每组的标准差为:\n', 
      detailGroup.std().head())

print('订单详情表分组后前5组每组的大小为:','\n', 
      detailGroup.size().head())
订单详情表分组后前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
订单详情表分组后前5组每组的标准差为:
            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
订单详情表分组后前5组每组的大小为: 
 order_id
1002     7
1003     8
1004    16
1008     5
1011    10
dtype: int64

代码 4-53 agg和aggregate函数的参数及其说明

print('订单详情表的菜品销量与售价的和与均值为:\n',
      detail[['counts','amounts']].agg([np.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据闲逛人

谢谢大嘎喔~ 开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值