数据分组方法

  • 分组计算根据某个或某几个字段对数据集进行分组,然后运用特点的函数,得到结果
  • 使用groupby方法进行分组计算,得到分组对象GroupBy
  • 语法为df.groupby(by=)
  • 分组对象GroupBy可以运用描述性统计方法,如count(计数)、mean(均值)、median(中位数)、max(最大值)和min(最小值)等
import pandas as pd
import numpy as np
import os
os.getcwd()
'D:\\Jupyter\\notebook\\Python数据清洗实战\\数据清洗之数据统计'
os.chdir('D:\\Jupyter\\notebook\\Python数据清洗实战\\数据')
df = pd.read_csv('online_order.csv', encoding='gbk', dtype={'customer':str, 'order':str})
df.head(5)
customer order total_items discount% weekday hour Food% Fresh% Drinks% Home% Beauty% Health% Baby% Pets%
0 0 0 45 23.03 4 13 9.46 87.06 3.48 0.00 0.00 0.00 0.0 0.0
1 0 1 38 1.22 5 13 15.87 75.80 6.22 2.12 0.00 0.00 0.0 0.0
2 0 2 51 18.08 4 13 16.88 56.75 3.37 16.48 6.53 0.00 0.0 0.0
3 1 3 57 16.51 1 12 28.81 35.99 11.78 4.62 2.87 15.92 0.0 0.0
4 1 4 53 18.31 2 11 24.13 60.38 7.78 7.72 0.00 0.00 0.0 0.0
grouped = df.groupby('weekday')
type(grouped)
pandas.core.groupby.generic.DataFrameGroupBy
grouped.mean()
total_items discount% hour Food% Fresh% Drinks% Home% Beauty% Health% Baby% Pets%
weekday
1 30.662177 8.580705 14.693122 22.690866 20.000904 22.522993 13.932553 6.972394 1.152285 11.592562 1.007306
2 31.868612 8.638014 14.966197 23.994915 19.407738 24.346459 13.559191 4.903366 1.079423 11.277284 1.272638
3 31.869796 7.794507 15.059898 24.309274 19.957653 23.822470 13.282088 6.702640 1.156829 9.591389 0.937205
4 32.251899 8.068155 14.324185 24.374364 21.538027 24.553266 13.391946 4.806528 1.031490 9.058201 1.080473
5 31.406619 9.159031 13.386919 24.602790 20.549153 24.976466 12.485788 5.431221 1.248605 9.655343 0.908227
6 32.154814 8.414258 14.751084 23.743196 18.707788 23.593699 14.173291 5.878647 1.170585 11.478343 1.150980
7 32.373837 8.710171 16.989535 22.271512 21.020359 21.093767 13.632481 5.895322 1.145938 13.844250 0.950391
grouped.mean()['Food%']
weekday
1    22.690866
2    23.994915
3    24.309274
4    24.374364
5    24.602790
6    23.743196
7    22.271512
Name: Food%, dtype: float64
# 多个字段分组
grouped = df.groupby(by=['customer', 'weekday'])
grouped.sum()['total_items']
customer  weekday
0         4           965           38
1         1          4232          1274           375           36
10        1           233           26
100       1           382           783           787          135
1000      2            6
10000     6           30
10001     6           15
10002     3           116           427           48
10003     2            4
10004     2           283          1314           93
10005     7           29
10006     2           205           277           26
10007     2            66           15
10008     7          123
10009     1            2...
9984      6           407           61
9985      6           11
9986      1           506           497           50
9987      1           23
9988      1           184            1
9989      1           27
999       1          1732           454           605          1377          149
9990      7            8
9991      6           46
9992      1           132           145           256           24
9993      6            8
9994      2           643           57
9995      7           14
9996      7           14
9997      6            5
9998      1           286           10
9999      6            4
Name: total_items, Length: 20777, dtype: int64

数据清洗之 数据分组方法相关推荐

  1. 16.数据统计之数据分组方法

    数据分组运算: 分组计算根据某个或者某几个字段对数据集进行分组,然后运用特定的函数,得到结果. 使用groupby方法进行分组计算,得到分组对象GroupBy 语法为df.groupby(by=) 分 ...

  2. 数据库查询的数据分组方法

    一.简介. 很多时候,我们进行数据库查询,并不需要清楚的知道每一条数据的全部信息.举个例子,我们想要知道仅仅是,某年每月产生至少两单的客户都有谁,但是,我们使用where语句进行查询的话,查询出来的数 ...

  3. pandas数据分组聚合——groupby()、aggregate()、apply()、transform()和filter()方法详解

    数据分组 数据分组就是根据一个或多个键(可以是函数.数组或df列名)将数据分成若干组,然后对分组后的数据分别进行汇总计算,并将汇总计算后的结果进行合并,被用作汇总计算的函数称为聚合函数.数据分组的具体 ...

  4. python对数据分组的方法

    pandas 的cut函数完成数据分组 cut(Series,bins,right = True,labels = null ) Series:需要分组的数据[数据框的某列数据] bins:分组的划分 ...

  5. python数据预处理 重复行统计_Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记...

    1. 数据清洗 1.1 空值和缺失值的处理 ​空值一般表示数据未知.不适用或将在以后添加数据.缺失值是指数据集中某个或某些属性的值是不完整的. ​一般空值使用None表示,缺失值使用NaN表示 1.1 ...

  6. 数据挖掘中的数据预处理方法总结

    1.原始数据存在的几个问题:不一致:重复:含噪声:维度高. 2.数据预处理包含数据清洗.数据集成.数据变换和数据归约几种方法. 3.数据挖掘中使用的数据的原则 应该是从原始数据中选取合适的属性作为数据 ...

  7. Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

    文章目录 1. 数据清洗 1.1 空值和缺失值的处理 1.1.1 使用isnull()和notnull()函数 1.1.1.1 isnull()语法格式: 1.1.1.2 notnull()语法格式: ...

  8. 小白学 Python 数据分析(7):Pandas 数据分组

    引言 各位同学好呀,我又出来了,本篇文章我们介绍下 Pandas 的数据分组. 本文用的数据集再次做更换,有同学在后台问小编为什么最近每篇文章都在换数据集. emmmmmmmm,在小白刚入门的时候,很 ...

  9. 【类库】私房干货.Net数据层方法的封装

    [类库]私房干货.Net数据层方法的封装 作者:白宁超 时间:2016年3月5日22:51:47 摘要:继上篇<Oracle手边常用70则脚本知识汇总>文章的发表,引起很多朋友关注.便促使 ...

最新文章

  1. 共享程序集和强命名程序集(3):强命名程序集的一些作用
  2. 思科交换机和路由器的远程配置
  3. 破解IDEA2018的正确姿势
  4. python中 12_python编程中常用的12种基础知识总结
  5. Java访问对象的属性和行为
  6. HTTPS 跟 HTTP区别简述
  7. Python 3.10 明年发布,看看都有哪些 PEP ?
  8. 金蝶云星空之表单插件的开发
  9. php 商铺附近定位,php 地图标注百度地图添加商铺
  10. Linux 系统调用 fork wait exec
  11. “低碳生活,绿建未来”主题活动——微信运动步数打卡比赛统计分析
  12. Center Loss层
  13. Elasticsearch JestClient 使用
  14. 【Flink Rest-ful API 】
  15. 入门训练圆的面积_入门
  16. 【论文笔记】SeqSLAM、Fast-SeqSLAM 和 Bow、Incremental Bow、DBoW2、ORB-SLAM 论文阅读笔记
  17. php 点赞 代码,WordPress模板如何使用纯代码实现点赞功能?
  18. js实现语音播报+html自动播放音频
  19. 如何解决Oracle GoldenGate 没有主键的问题?
  20. BZOJ 5248: [2018多省省队联测]一双木棋(对抗搜索+记忆化)

热门文章

  1. 使用spark对于武汉租房数据进行分析
  2. 沃尔特·欧文·本特利(Walter Owen Bentley)是著名的创始人
  3. java实现细胞自动机
  4. 对清华学子独白的评论及后续收藏,以自勉 自省 —— 2021.11.10 晚9点
  5. 服务器体系和共享存储架构
  6. YOLO-入门-简单理解
  7. Linux cp 递归复制所有文件和文件夹
  8. 【Arcmap导出地图】可控制影像精度
  9. 一名合格的亚马逊运营,从早到晚都在做什么?
  10. ubuntu20.4安装谷歌输入法