《利用Python进行数据分析》这本书举的例子没有使用场景,本文以top命令的输出作为示例,演示pandas的分组和sum计算。

目标:

按时间戳和用户名对top命令中的%MEM、%CPU数据进行汇总(top命令输出入下):

前置条件:

周期执行top命令的输出已经保存到sqlite3数据库中,表结果如下:

stamp INT, account varchar(25), mem_p real, cpu_p real

说明:stamp为执行top命令时的时间戳,用time.time()获取该值

示例:

以下代码涉及pandas获取数据及groupby:

import sqlite3

import pandas as pd

'''主程序:连接数据库,调用sum函数'''

if __name__ == "__main__":

conn = sqlite3.connect('./resource_db', check_same_thread=False)

sum(conn)

'''sum函数:获取数据、分组、sum计算'''

def sum(conn):

start_stamp = 1479265500

sql = 'select stamp, account, mem_p, cpu_p from t_resource where stamp < ' + str(start_stamp)

'''加载数据到pandas的DataFrame'''

my_df = pd.read_sql_query(sql, conn)

'''按一个条件进行分组'''

my_grouped = my_df.groupby(my_df['stamp'])['mem_p', 'cpu_p']

'''对分组执行sum操作'''

sum_result_1 = my_grouped.sum().reset_index()

'''遍历计算结果,输出'''

for ir in sum_result_1.itertuples():

print ir[1], ir[2], ir[3]

部分结果:

'''按两个条件进行分组'''

my_grouped_2 = my_df.groupby([my_df['stamp'], my_df['account']])['mem_p', 'cpu_p']

sum_result_2 = my_grouped_2.sum().reset_index()

for ir in sum_result.itertuples():

print ir[1], ir[2], ir[3], ir[4]

部分结果:

说明:

sum()返回的结果集中似乎缺少了用于分组的字段,导致在后继处理中无法得到对应关系,只好调用reset_index()把分组字段补足(在本例中是stamp和account字段)

pandas官网对pandas的解释:powerful Python data analysis toolkit

python分组求和_利用pandas进行分组求和相关推荐

  1. Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)

    Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 目录 利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 输出结果 实现代码 利用pandas ...

  2. python根据频率画出词云_利用pandas+python制作100G亚马逊用户评论数据词云

    原标题:利用pandas+python制作100G亚马逊用户评论数据词云 数据挖掘入门与实战 公众号: datadw 我们手里面有一个差不多100G的亚马逊用户在购买商品后留下的评论数据(数据格式为j ...

  3. python非数值型数据_利用pandas将非数值数据转换成数值的方式

    handle non numerical data 举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~, 这里不考虑稀疏向量的使用,仅提供一些思路.本来想直接利用pandas的D ...

  4. python pandas 条件求和_python 使用pandas计算累积求和的方法

    python 使用pandas计算累积求和的方法 使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组& ...

  5. python网页版本_利用jupyter网页版本进行python函数查询方式

    我就废话不多说了,还是直接看代码吧! import numpy world_alchol=numpy.genfromtxt("world_alcohol.txt",delimter ...

  6. c语言读取excel表格_利用pandas处理excel表格

    这不是一篇详细介绍pandas的文章,只是我在利用python处理excel表格时找到的一些临时方案,为了避免忘记,记录在这里,也可能对你有帮助. pandas在对excel处理上使用的是xlrd和x ...

  7. python营业数据分析_利用Python对咖啡馆营业做一个简单的数据分析

    准备数据 1.导入python数据分析模块三剑客:pandas\matplotlib\numpy 2.用read_excel()方法导入数据源 .输出结果截图如下(部分): 可以看到有这些数据:订单日 ...

  8. python稳健性检验_利用Python检验你的策略参数是否过拟合

    过拟合现象 一般来说,量化研究员在优化其交易策略参数时难免会面临这样一个问题:优化过后的策略在样本内表现一般来说均会超过其在样本外的表现,即参数过拟合.对于参数优化来说,由于优化时存在噪音,过拟合是不 ...

  9. oracle对某两列求和再求和_只会SUM函数求和,试试这5种求和函数,十倍提高工作效率...

    在平时的工作和学习中,求和计算算是比较司空见惯的数据统计方式,但大多数人只知道Sum函数可以用来求和,事实上,除了SUM函数,还有SUMIF.SUMIFS.SUBTOTAL.SUMPRODUCT.SU ...

  10. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

最新文章

  1. 【胡策08】解题报告
  2. 学生信息系统求助_Student Information Management -一个简单的学生信息管理系统(持续更新2)...
  3. 洛谷1967货车运输
  4. 【GNN】啥是GNN?GNN咋学?GNN何用?
  5. VTK:可视化算法之ExtractData
  6. 北京国际图书博览会暨2007 BIBF
  7. .net 使用阿里云RocketMQ
  8. php java 读取所有txt_paip.文件读写api php java python总结.txt
  9. 008-Shell 流程控制
  10. python三次方函数_python函数基础------第三次作业讲解(二)
  11. 三维GIS+电力巡检,开启电缆通道数字化巡检新局面
  12. 线程池ThreadPoolExecutor与ForkJoinPool
  13. 我分析了100篇文章,总结出5点头条号推荐机制真相
  14. ps滤镜之——马赛克
  15. UML工具Visual Paradigm最新版本16.2发布
  16. Android面试分析一:关于OKhttp详解(附带视频教程,flutter游戏全屏
  17. 将doc文档生成html页面
  18. Linux环境C语言开发基础
  19. 时间戳和时间的相互转换,以及中国本地时间转换成国外时间
  20. CCS:pre-build stepspost-build steps生成bin文件

热门文章

  1. MDK5之.map文件解析
  2. 【Python自动化Excel】pandas处理Excel数据的基本流程
  3. docker添加新的环境变量_DockerFile 设置环境变量
  4. Linux7(CentOs7.5)安装ssh、和修改ssh端口号
  5. 【备忘】Java菜鸟到大牛学习路线之实战篇
  6. 图片 后台 的一些官网 改字体的一些网站
  7. 调优为王!阿里巴巴彩版java性能调优实战,终于到手了!文末福利
  8. asp.net接受表单验证格式后再提交数据_药物临床试验数据管理与统计分析的计划和报告指导原则...
  9. Web渗透测试实战——(2.1)Metasploit 6.0初步
  10. 斗鱼mac html5,斗鱼直播伴侣ios苹果版使用教程_苹果版斗鱼直播伴侣怎么用_3DM手游...