好用的分类统计--Python
今天做了一个分类统计,感叹下pandas的强大,也记录下。
统计抽象下类似是这样的,第一列和第二列是事物,第三列表示时间段,第四列表示被访问的值,总计100多万行数据,需要统计aaa、bbb在各时段被访问的次数,a/b/c在各时段被访问的次数:
key1 | key2 | time_h | value |
aaa | a | 1 | 13 |
aaa | b | 3 | 14 |
aaa | c | 2 | 15 |
bbb | a | 2 | 16 |
bbb | b | 3 | 16 |
bbb | c | 4 | 15 |
aaa | a | 1 | 15 |
aaa | b | 4 | 14 |
aaa | c | 5 | 1 |
bbb | a | 2 | 1 |
bbb | b | 3 | 3 |
bbb | c | 1 | 15 |
作为一个小白,100多万行数据咋弄呢?pandas提供了一个十分强大的分类统计的 东东groupby。
下面上实际环境的代码和效果:
import pandas as p
from pandas import DataFramedata=p.read_table('e:\aaa.txt',names=['key1','key2','time_h','count'])
key1 key2 time_h count
0 2500 165A 12 292
1 2500 165B 2 129
2 2500 2FAC 20 2
3 2500 2FAD 10 51
4 2500 2FAE 0 19
5 2500 3E9 7 188
6 2500 4343 17 150
7 2500 4C0F 16 30
8 2500 52BF 23 1265
9 2500 5B6B 23 93
10 2500 6EA3 23 321
11 2500 7CBD 17 1414
12 2500 8ACB 0 299
13 2500 8B07 9 587
14 2500 8E6E 15 734
15 2500 951C 17 1525
16 2500 951D 7 721
17 2500 9955 22 496
18 2500 9956 12 46
19 2500 9D47 20 257
20 2500 A522 15 1
21 2500 B06F 6 609
22 2500 B0CB 16 287
23 2500 B502 16 647
24 2500 B503 6 456
25 2500 B731 3 406
26 2500 B85F 18 738
27 2500 BE1D 20 149
28 2500 C0FA 22 320
29 2500 C0FB 12 793
... ... ... ... ...
1355371 A656 C3FE 14 527
1355372 A656 C3FF 4 11
1355373 A656 C400 16 669
1355374 A656 C613 1 2
1355375 A656 CC8F 2 54
1355376 A656 CD9A 5 25
1355377 A656 CEAC 22 155
1355378 A656 CEAD 12 312
1355379 A656 CF10 17 95
1355380 A656 D40E 23 3
1355381 A656 D491 15 23
1355382 A656 D492 5 5
1355383 A656 DAE7 14 622
1355384 A656 E01B 19 7
1355385 A656 E01C 9 43
1355386 A656 E021 6 22
1355387 A656 E099 10 709
1355388 A656 E31D 5 166
1355389 A656 E37D 18 143
1355390 A656 E37E 8 212
1355391 A656 E695 9 187
1355392 A656 ED37 18 76
1355393 A656 ED38 8 28
1355394 A656 EE14 21 91
1355395 A656 EE15 11 116
1355396 A656 EE8D 19 26
1355397 A656 F2AF 16 1580
1355398 A656 F4F3 18 187
1355399 A656 F530 0 121
1355400 A656 FD6D 11 132[1355401 rows x 4 columns]
groupby_key1=data.groupby([data['key1'],data['time_h']])
<pre name="code" class="python">count_key1=groupby_key1.sum()
count
key1 time_h
2500 0 1205361 969322 856773 844324 848365 922586 1214537 1712308 2159949 26136410 28732211 29820212 27523013 23228814 25710215 27939116 27895917 29899018 26521019 25070520 31111821 28848122 22687423 160231
2501 0 1259771 1089752 1053773 987284 1011665 110157
... ...
A654 18 85731719 74518620 84485921 80586922 71312223 561586
A656 0 4925721 3537162 2918383 2568364 2340045 2395406 3393257 4955528 7152179 98491510 122600911 134123312 124405113 112271114 125921515 132842916 136817417 142281818 118017619 98008020 104576021 95376822 81658923 630840[1918 rows x 1 columns]
groupby_key2=data.groupby([data['key2'],data['time_h']])
count_key2=groupby_key2.sum()
count
key2 time_h
0 0 4185291 2442112 1646903 1190294 1038415 1213296 2482657 5224168 10276579 178140110 231144411 244264912 180753413 140200214 200545515 231897016 245573417 248868418 215252519 132328020 149964421 126203922 101034923 620009
10 0 181 222 163 134 175 21
... ...
FFEB 14 415 916 117 118 119 1
FFF 0 2291 1642 2613 1584 1335 1846 1607 2098 2149 21910 24211 23812 36213 17014 28515 22616 25517 25618 21219 21520 33021 24722 24123 276[1097254 rows x 1 columns]
几行几秒搞定问题!
好用的分类统计--Python相关推荐
- 宝塔 bt 蜘蛛统计数量汇总与分类统计 python
宝塔会员的 网站统计里面看蜘蛛数量 不方便 当站点多的时候不方便,,蜘蛛多少那列不能排序,不能按多少排序 写了个代码 半自动统计 蜘蛛数量 当站点多的时候,只更新诱蜘蛛来的站点,没有蜘蛛的站点不显示! ...
- 透过Python 将接收邮件邮件进行分类统计
工作的需要自行学习了Python的一些功能,将所学的经验在这里分享给大家 文章目录 目录 文章目录 前言 一.环境准备 二.使用步骤 1.引入库 2.读入数据 总结 前言 工作中我们可能会透过邮件,让 ...
- Python计算医疗数据训练集、测试集的对应的临床特征:训练集(测试集)的阴性和阳性的样本个数、连续变量的均值(标准差)以及训练测试集阳性阴性的p值、离散变量的分类统计、比率、训练测试集阳性阴性的p值
Python使用pandas和scipy计算医疗数据训练集.测试集的对应的临床特征:训练集(测试集)的阴性和阳性的样本个数.连续变量的均值(标准差
- Python花式编程:考试成绩分类统计(3种方法)
封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: ================ 问题描述: 已知某门课程的学生成 ...
- python对excel数据统计_python读取excel数据做分类统计
#-*- coding:utf-8 -*- importxlrdfrom datetime importtimedeltadefread_excel(file_excel):#读excel并将需要的数 ...
- 分类统计字符—Python
描述 用户输入一个字符串,分别统计其中小写字母.大写字母.数字.空格和其他字符的个数,并在一行内输出小写字母.大写字母.数字.空格和其他字符的个数. 输入格式 输入一个字符串 ...
- python导入xlsx文件-Python读取xlsx文件的实现方法
脚本如下: from openpyxl import load_workbook workbook = load_workbook(u'/tmp/test.xlsx') #找到需要xlsx文件的位置 ...
- python实验七答案_Python实验报告七
安徽工程大学Python程序设计 班级:物流192 姓名:唐家豪 学号:3190505234 成绩: 日期:2020/05/28 指导老师:修宇 [实验目的] 熟悉通过序列索引迭代执行循环:掌握元组. ...
- python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书购买链接(京东):配 ...
最新文章
- [React Native] 解析JSON文件
- 基于深度学习的多目标跟踪:从UMA Tracker出发谈谈SOT类MOT算法
- 配置SpringMVC框架
- 圆环和环形是一样的吗_Excel不知道还可以这样做圆环图
- PHP curl 参数详解
- 在线的SA 绘图工具-Mockups
- 802.11协议常用语缩写
- 如何用 Nginx 禁止国外 IP 访问网站 ?
- css3实现图片旋转木马效果
- Windows 11 安装 Matlab 2022a 保姆级教程
- 深度学习的归一化和反归一化
- 模拟调制—DSB信号及生物电信号特性测量分析实验报告
- 【FHQ Treap】洛谷P5055 【模板】可持久化文艺平衡树
- Java方法详解(基础)
- 单条视频播放3700w+,生鲜产品如何开启变现之路?
- 深入解析 DataGrid 过滤功能
- 关于SQL语句的例子
- 目标跟踪算法KCF原理详解
- Linux kill 强制关闭 进程
- linux进程调度之FIFO和RR策略