python 实现分组求和与分组累加求和代码


Posted in Python onMay 18, 2020

我就废话不多说了,大家还是直接看代码吧!

# -*- encoding=utf-8 -*-
import pandas as pd
data=['abc','abc','abc','asc','ase','ase','ase']
num=[1,2,2,1,2,1,2]
df1=pd.DataFrame({'name':data,'num':num})
print(df1)

df1['mmm']=df1['num']
df2=df1.groupby(['name', 'num'], as_index=False).count()
print(df2)
df2.sort_values(['name', 'num'], ascending=[1, 1], inplace=True)
print(df2)
df2['sum']=df2.groupby(['name'])['mmm'].cumsum()
print(df2)
kk=df2.groupby(['name'],as_index=False)['num'].sum()
print(kk)
df3 = pd.merge(df2, kk, on='name', how='left',)
print(df3)
df3['ratio']=df3['sum']/df3['num_y']
df3.columns = ['name', 'num', 'mmm', 'sum','numsum','ratio']
print(df3)
df4=df3.groupby(['mmm'],as_index=False)['ratio'].mean()

print(df4)

运行:

name num
0 abc  1
1 abc  2
2 abc  2
3 asc  1
4 ase  2
5 ase  1
6 ase  2
 name num mmm
0 abc  1  1
1 abc  2  2
2 asc  1  1
3 ase  1  1
4 ase  2  2
 name num mmm
0 abc  1  1
1 abc  2  2
2 asc  1  1
3 ase  1  1
4 ase  2  2
 name num mmm sum
0 abc  1  1  1
1 abc  2  2  3
2 asc  1  1  1
3 ase  1  1  1
4 ase  2  2  3
 name num
0 abc  3
1 asc  1
2 ase  3
 name num_x mmm sum num_y
0 abc   1  1  1   3
1 abc   2  2  3   3
2 asc   1  1  1   1
3 ase   1  1  1   3
4 ase   2  2  3   3
 name num mmm sum numsum   ratio
0 abc  1  1  1    3 0.333333
1 abc  2  2  3    3 1.000000
2 asc  1  1  1    1 1.000000
3 ase  1  1  1    3 0.333333
4 ase  2  2  3    3 1.000000
  mmm   ratio
0  1 0.555556
1  2 1.000000

Process finished with exit code 0

补充知识:python项目篇-对符合条件的某个字段进行求和,聚合函数annotate(),aggregate()函数

对符合条件的某个字段求和

需求是,计算每日的收入和

1、

new_dayincome = request.POST.get("dayincome_time", None)

    # total_income = models.bathAccount.objects.filter(dayBath=new_dayincome).aggregate(nums=Sum('priceBath'))
    total_income = models.bathAccount.objects.values('priceBath').annotate(nums=Sum('priceBath')).filter(dayBath=new_dayincome)
    print("total_income",total_income[0]['nums'])

输出结果:total_income 132

2、

from django.db.models import Sum,Count
new_dayincome = request.POST.get("dayincome_time", None)

    total_income = models.bathAccount.objects.filter(dayBath=new_dayincome).aggregate(nums=Sum('priceBath'))
    print("total_income",total_income['nums'])

输出结果:total_income 572

第二种输出的是正确的数字

以上这篇python 实现分组求和与分组累加求和代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中Collection的使用小技巧
Aug 18 Python
python爬取m3u8连接的视频
Feb 28 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
numpy 声明空数组详解
Dec 05 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
基于python 凸包问题的解决
Apr 16 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
Python使用pycharm导入pymysql教程
Sep 16 Python
Python常遇到的错误和异常
Nov 02 Python
分享python函数常见关键字
Apr 26 Python
Django ORM实现按天获取数据去重求和例子
May 18 #Python
如何实现更换Jupyter Notebook内核Python版本
May 18 #Python
python mysql自增字段AUTO_INCREMENT值的修改方式
May 18 #Python
Pycharm安装并配置jupyter notebook的实现
May 18 #Python
Django中的AutoField字段使用
May 18 #Python
jupyter notebook运行命令显示[*](解决办法)
May 18 #Python
jupyter notebook的安装与使用详解
May 18 #Python
You might like
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
jQuery入门知识简介
2010/03/04 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
全面了解Python环境配置及项目建立
2016/06/30 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python os用法总结
2018/06/08 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Python with标签使用方法解析
2020/01/17 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
解除财产保全担保书
2014/05/20 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
维稳承诺书
2015/01/20 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
多人股份制合作协议书
2016/03/19 职场文书
导游词之潮音寺
2019/09/26 职场文书
python获取带有返回值的多线程
2022/05/02 Python